| cargo: remove old config file Remove old config file otherwise rust-analyzer reports error. Signed-off-by: Zhao Yi Min <zhaoyimin1@huawei.com> | 4 个月前 |
| Github Mirror: Add github actions to release stratovirt binaries This patch is used for stratovirt github mirror repo. When publishing a new release, the github actions will build stratovirt's x86_64 and aarch64 binaries, and upload them to the release url. Signed-off-by: Liu Wenyuan <liuwenyuan9@huawei.com> | 2 年前 |
| machine/x86: Load ACPI and SMBIOS for x86 stdmachine direct kernel boot 1. ACPI and SMBIOS's pointer and checksum should update by hand now. 2. For standard machine, load ACPI and SMBIOS to memory when has no fwcfg. Signed-off-by: Keqian Zhu <zhukeqian1@huawei.com> Signed-off-by: Fei Xu <xufei30@huawei.com> | 2 个月前 |
| address_space: drop uffd ready ack from handoff protocol 1. Remove the one-byte ready-ACK read from send_to_external_uffd_daemon so the handoff matches the Firecracker daemon contract, which only exchanges the JSON region list and the uffd fd via SCM_RIGHTS. 2. Keep the handoff UnixStream alive on UffdMemoryBackend for the backend lifetime so the daemon observes a stable peer instead of a peer that closes the socket immediately after sendmsg. 3. Update the Rust unit tests and hydropper UFFD protocol fixtures to cover the no-ACK handoff while keeping legacy ACK sending available in the mock daemon. Co-Authored-By: Codex <codex@openai.com> (cherry picked from commit 22c3cecf3c5777404c93fee38d42a19fab7184bb) | 3 天前 |
| virtio-snd: add trace for virtio sound module Signed-off-by: chaisong <chai_song@126.com> (cherry picked from commit b7ee8d5e1f17fa33d9c764f54be945f283a1ae32) | 3 天前 |
| virtio-blk: fix an deadlock problem when deactivate block When deactivate block device in vcpu thread, it will do the follow steps: 1) lock qcow2 driver 2) wait inflight io count decrease to zero For disk iothread, it trigger the flush metadata timer: 1) lock qcow2 driver stuck, wait vcpu thread unlock it When decrease inflight io count, it needs to run on disk iothead which has been stuck. So, it cause an deadlock. Do not lock qcow2 driver before inflight io count decrease to zero when deactivate block. Signed-off-by: Yan Wang <wangyan122@huawei.com> Signed-off-by: Fei Xu <xufei30@huawei.com> | 2 个月前 |
| machine: gate guest memory writes by migration state 1. Determine boot, SMBIOS, and ACPI guest memory writes from the VM migration state in shared machine helpers. 2. Skip direct-boot and DTB guest memory writes during incoming restore while preserving fwcfg-based setup. 3. Keep reset-time direct-boot reload behavior so guest memory is rewritten after migration completes. (cherry picked from commit d955b95d449169eae4b42f09ff65e5f3c00f60fc) | 3 天前 |
| chardev: add Redirect subtype to enable serial redirection This patch adds a Redirect subtype to the chardev device, allowing serial device information to be redirected to a log file. The device can be enabled by adding "-serial redirect-to-log" to the startup parameters. A specific use case is redirecting UEFI-phase logs to vmlog. Signed-off-by: Fan Xuan Zhe <fanxuanzhe@huawei.com> Signed-off-by: Fei Xu <xufei30@huawei.com> | 2 个月前 |
| ARM: support pvsteal time When cpu configured wih kvm-steal-time=on, pvsteal time is enabled. Signed-off-by: Mingwang Li <limingwang@huawei.com> Signed-off-by: Fei Xu <xufei30@huawei.com> | 2 个月前 |
| scsi: add LBA boundary check for all read/write commands Previously only READ_10/WRITE_10 had LBA boundary validation in ScsiRequest::new(), leaving READ_6/12/16, WRITE_6/12/16, and WRITE_VERIFY_10/12/16 vulnerable to out-of-bounds access. Extend the check to cover all NON_EMULATE_SCSI_OPS (except SYNCHRONIZE_CACHE which doesn't use LBA-based addressing) and extract it into ScsiCommand::check_lba_invalid() for clarity. Fixes: 88c2490f ("scsi-bus: check read/write buffer size to avoid out of range") Signed-off-by: liuxiangdong <liuxiangdong5@huawei.com> (cherry picked from commit 6b2c38cc1dfe9f27b831bc3f35215eb63c627bf2) | 3 天前 |
| docs: add virtio-sound device documentation Add documentation for the virtio-sound device in config_guidebook.md. The documentation includes: - Device properties (id, backendtype, record_auth, bus, addr, etc.) - Supported audio formats (sample rates, formats, channels) - Command line examples for both mmio and pci devices - Notes about platform-specific backends Signed-off-by: Hu Nong Da <hunongda@huawei.com> (cherry picked from commit 50162865b2c694e12e070d29322afd644e8e3287) | 3 天前 |
| hisysevent: narrow rebuild trigger to event_info 1. Change hisysevent build script to watch the event_info directory instead of a missing path. 2. Avoid unnecessary rebuilds of hisysevent and its downstream dependency chain when source files are unchanged. (cherry picked from commit 422b7e932f2b2e01a32ccf8837cee149a70b802f) | 3 天前 |
| fix(snapshot): allow syscalls and ioctls required by snapshot restore in seccomp Snapshot restore from file was killed by the seccomp filter because several syscalls and ioctls used on the restore path were not allowlisted: - Define the KVM_SET_PIT2, KVM_SET_CLOCK and KVM_SET_IRQCHIP ioctl numbers in the hypervisor crate and allow them in the micro and standard VM x86_64 ioctl allowlists (the SET counterparts of the GET ioctls already allowed for snapshot save) - Micro VM: allow KVM setup ioctls re-issued during device restore (KVM_SET_USER_MEMORY_REGION, KVM_IOEVENTFD, KVM_IRQFD, KVM_SET_GSI_ROUTING, KVM_SIGNAL_MSI), the VHOST_GET_FEATURES and VHOST_RESET_OWNER ioctls, and SYS_clock_nanosleep used by glibc sleep/backoff - Micro and standard VM: allow additional futex ops observed on glibc hosts during restore (FUTEX_WAKE_BITSET, FUTEX_REQUEUE and, on gnu, FUTEX_LOCK_PI2) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> (cherry picked from commit 6eb05950dda68aea3d2dd4497762ed95a64ad139) | 3 天前 |
| version: Update to v2.5.0 Signed-off-by: Fei Xu <xufei30@huawei.com> | 4 个月前 |
| Started implementation of IPP Printer Proxy At the moment it is just a skeleton, which does near nothing. It enumerates CUPS printers once per 30 seconds. All data from UnixPipe chanel is silently consumed and not processed Printer structure is just a stub Signed-off-by: Fei Xu <xufei30@huawei.com> | 8 个月前 |
| update vmm-sys-util to 0.12.1 Adding bitflags v2.5.0 Updating kvm-bindings v0.6.0 -> v0.7.0 Updating kvm-ioctls v0.15.0 -> v0.16.0 Updating vmm-sys-util v0.11.1 -> v0.12.1 | 1 年前 |
| virtio: add gpu snapshot vmstate 1. Add virtio-gpu vmstate metadata and framebuffer blob serialization. 2. Share GPU runtime state between the device and IO handler for snapshot save and restore. 3. Register virtio-gpu on the normal device vmstate path and allow its large state payload. Co-Authored-By: GPT-5.5 (cherry picked from commit a6e015e708effa1ee2f4e37324c1777eb5962dcd) | 3 天前 |
| tests: add snapshot memory query workflow Add tests for the snapshot memory query workflow and file snapshot detection path. The QMP socket regression checks that save-side migrate URI parsing recognizes file snapshots with memory=external and mapped=false, so the existing snapshot stop/resume wrapper is used. The ignored mod-test documents the manual QMP flow for pausing a VM and querying page state and memory mappings from a test VM. (cherry picked from commit 988fc21e0c475d0976f29eb70d759e379f5a8059) | 3 天前 |
| virtio: add gpu snapshot vmstate 1. Add virtio-gpu vmstate metadata and framebuffer blob serialization. 2. Share GPU runtime state between the device and IO handler for snapshot save and restore. 3. Register virtio-gpu on the normal device vmstate path and allow its large state payload. Co-Authored-By: GPT-5.5 (cherry picked from commit a6e015e708effa1ee2f4e37324c1777eb5962dcd) | 3 天前 |
| version: Update to v2.5.0 Signed-off-by: Fei Xu <xufei30@huawei.com> | 4 个月前 |
| ozonec: support user in ozonec exec command Supports specifying the user under which the process runs. Signed-off-by: liuxiangdong <liuxiangdong5@huawei.com> Signed-off-by: Fei Xu <xufei30@huawei.com> | 2 个月前 |
| fix(main): use display format for top-level errors to avoid backtrace deadlock Formatting anyhow errors with {:?} triggers backtrace capture, which calls getcwd() internally. In the error path triggered by an invalid or closed QMP Unix socket, getcwd() blocks indefinitely, hanging the process. Switch the three top-level error sites in main.rs (the stderr report in main(), the vmconfig creation failure log, and the run() error handler) from {:?} to {:#}, which prints the full error chain without capturing a backtrace. (cherry picked from commit 4c2da23a7eca9d46f060e9c887e3bffec7371153) | 3 天前 |
| scsi_test: fix error in READ_TOC command test Fix MSF error in READ_TOC command test. Signed-off-by: liuxiangdong <liuxiangdong5@huawei.com> | 18 小时前 |
| build: Allow stratovirt to be built in an openeuler container Add a tools directory at root, and initialize it with a stratovirt docker-build script and Dockerfile, which allows users to build stratovirt in isolated environment. It also can be used for automated build. Signed-off-by: Liu Wenyuan <liuwenyuan9@huawei.com> | 2 年前 |
| virtio-snd: add trace for virtio sound module Signed-off-by: chaisong <chai_song@126.com> (cherry picked from commit b7ee8d5e1f17fa33d9c764f54be945f283a1ae32) | 3 天前 |
| trace: gate runtime control support 1. Add an internal trace feature that gates trace state registry, regex matching, command-line trace parsing, and QMP trace control commands. 2. Keep trace_to_logger, trace_to_ftrace, and trace_to_hitrace as the public feature entry points that enable the internal trace control path. 3. Remove default runtime regex users by replacing device id deletion matching and making test-only or VNC-only regex users conditional. 4. Verify all trace_to_logger, trace_to_ftrace, and trace_to_hitrace debug feature combinations build without warnings. (cherry picked from commit 6a5978d9c31b85b91d8b373e205ed1cbe04204f8) | 3 天前 |
| fix: rotate logs by full date key Signed-off-by: papertager <2567587994@qq.com> (cherry picked from commit 13acd0654083e22f3ff6a30a72187b94d86446db) | 3 天前 |
| vfio: delete useless dependency Delete useless dependency hypervisor. Signed-off-by: liuxiangdong <liuxiangdong5@huawei.com> Signed-off-by: Fei Xu <xufei30@huawei.com> | 2 个月前 |
| virtio_input: remove needless Arc Signed-off-by: h957891668 <957891668@qq.com> (cherry picked from commit a2bf1d0d7023b95e9d0fd859d908497bd4e7c0bc) | 3 天前 |
| Cargo.lock: remove Cargo.lock file from .gitignore It is suggested from the rust community that the Cargo.lock should be managed. If the dependent crates are updated, the Cargo.lock also needs to be updated. Signed-off-by: Xinle.Guo <guoxinle1@huawei.com> | 3 年前 |
| code comment format standardization Use the following rustfmt configurations to standardize the comment format: comment_width = 100 wrap_comments = true normalize_comments = true format_code_in_doc_comments = true These are unstable configurations of rustfmt, which can only be checked with cargo +nightly fmt --all, currently will not be integrated into CI. Signed-off-by: boby.chen <boby.chen@huawei.com> | 2 年前 |
| license: add project copyright file 1. Add a project-level copyright notice for StratoVirt. 2. Point readers to the existing Mulan PSL v2 license text. Co-Authored-By: Codex <codex@openai.com> (cherry picked from commit 03323e563d6d5a5dda352af1d76de2daea6200ee) | 3 天前 |
| usbhost: introduce quirks mechanism During USB device passthrough, varying and hardware firmware quality leads to inconsistent behavior when handling set_config requests from the guest: 1. Some devices require an explicit set_config ioctl to properly activate their internal state machines, even if the target configuration is already active on the host OS 2. Other devices will crash, stall, or break functionality if they receive a redundant set_config request for the currently active configuration To resolve these compatibility issues, this patch introduces a static USB quirks mechanism: 1. Add the bitflags crate dependency to define UsbQuirk attributes (ALWAYS_SET_CONFIG and IGNORE_SET_CONFIG) 2. Implement a OnceLock based table to map specific device Vendor IDs and Product IDs (VID/PID) to their corresponding quirks 3. Update the UsbHost struct to query and store device quirks during the attachment phase 4. Refactor the set_config handler to fetch the device's current active configuration and evaluate it against the device's specific quirks before deciding whether to dispatch the actual ioctl to the host Signed-off-by: Fan Xuan Zhe <fanxuanzhe@huawei.com> (cherry picked from commit 97c83f638a995fcdccac216de07b4345deb6d663) | 3 天前 |
| cargo: enable ohos default machine features 1. Add an ohos-specific machine dependency override in the root manifest. 2. Enable usb_storage, virtio_balloon, virtio_mem, virtio_serial, virtio_input, virtio_multitouch, and vhostuser_fs for ohos builds by default. (cherry picked from commit 47047ec1eb1a5e3a59e93a7f398a35e632cdd966) | 3 天前 |
| add make to build dependencies Package gettext-sys build depends on make, let's add it to build dependencies. Signed-off-by: yezengruan <yezengruuan@huawei.com> | 2 年前 |
| switch language of readme.md to Chinese Signed-off-by: ZhiGang <wangzhigang17@huawei.com> | 3 个月前 |
| 英文README文档翻译回稿合入 | 1 个月前 |
| typos: Add new typo extend words thr = "thr" mch = "mch" Mch = "Mch" MCH = "MCH" ANC = "ANC" DBE = "DBE" AER = "AER" Pn = "Pn" PN = "PN" These words are intentional to be what it looks like, thus make them valid in typos rules. Signed-off-by: Fei Xu <xufei30@huawei.com> | 1 年前 |
| usb-host: fix typo in conditionally link the specific feature name in code is "usb_host" rather than "usb-host". Signed-off-by: Fan Xuan Zhe <fanxuanzhe@huawei.com> | 1 年前 |