From a9edfaba6af309979344e8bcfa0dbbc77a1b62b9 Mon Sep 17 00:00:00 2001 From: Pedro Henrique Penna Date: Mon, 28 Sep 2026 22:09:06 -0700 Subject: [PATCH] Repin OpenVMM to microVM v2.1 Promote the `openvmm` submodule to `eb32b1652`, the head of the new nanvix/openvmm `microvm/v2.1` branch, and track that branch in `.gitmodules` instead of `main`. `microvm/v2.1` rebases the 161-commit microVM stack from nanvix/openvmm `main` (`5cfdf9220`) onto microsoft/openvmm `main` at `e1cdbd916`, which nanvix/openvmm `upstream/main` now mirrors. It also carries `e2c982abc`, the listener endpoint rebinding fix (nanvix/openvmm#99), which the previous pin already includes. NVX therefore keeps the behavior that `dev` pins today. The rebase picks up 27 upstream commits. `git range-diff` against the previous stack reports 139 unchanged commits and 23 changed commits. No commit was added or dropped. The changed commits carry conflict resolutions and adaptations to upstream API changes: structured `--uefi` options, PCIe placement for virtio devices, isolation-aware MSHV partition creation, and the petri initrd builder. Each adaptation is folded into the commit that introduced the affected code. Upstream assigns the new `VMConfig.disable_vmbus` and `disable_hv` flags to fields 16 and 17. NVX clients already use those fields for `crash_dump_path` and `machine_profile`, so the fork moves the flags to fields 20 and 21. Validation on bare-metal hosts, in isolated checkouts, used guest artifacts built with Docker from these sources: - Linux/KVM: NVX verify and CLI tests; `test-microvm` for every Alpine scenario at 1, 2, 4, and 8 vCPUs; the Ubuntu smoke, extended, and sandbox tests; `test-openvmm` (58 of 58); `test-openvmm-unit` (4535 tests and 82 doc tests); and the CI-equivalent benchmark. - Linux/MSHV: the same checks without the KVM-only extended Ubuntu set; `test-openvmm` (57 of 57); `test-openvmm-unit` (4535 tests and 82 doc tests); and the CI-equivalent benchmark with the musl binary. - Windows/WHP: the same checks as MSHV; `test-openvmm` (29 of 29); `test-openvmm-unit` (4235 tests and 82 doc tests); and the CI-equivalent benchmark. - A same-host benchmark A/B against the previous pin on all three hosts found no regression beyond run-to-run noise. On MSHV, the collector rejected the first run of each revision, which started right after a build, for unstable snapshot generation. The reruns on the idle host passed. On WHP, the v2.1 acceptance run needed the single CI retry for the same check. - OpenVMM clippy with Rust 1.95.0 is clean across the workspace on Linux and Windows, and `cargo xtask fmt` passes. NVX ruff, pyright, shellcheck, shfmt, and the Specula tests pass. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- openvmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openvmm b/openvmm index e2c982a..885fde3 160000 --- a/openvmm +++ b/openvmm @@ -1 +1 @@ -Subproject commit e2c982abc2ce934750cefa58fdd0bafff61cc4d8 +Subproject commit 885fde30f334dc18c1042a0acfe6a1b43c9a7f2b