Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
304 commits
Select commit Hold shift + click to select a range
9dc92d3
virt: define a canonical x86 CPU compatibility contract
ppenna Sep 25, 2026
14b985e
virt: add portable TSC-deadline VP state and APIC-timer advance
ppenna Sep 25, 2026
d7e676e
virt: add exact TSC-frequency helpers and snapshot clock hooks
ppenna Sep 25, 2026
fd20fd8
virt_kvm: save and restore exact TSC and kvm-clock state
ppenna Sep 25, 2026
b7bc258
virt_mshv: synchronize restored vCPU clocks and expose the exact TSC …
ppenna Sep 25, 2026
00bced0
virt_whp: synchronize restored vCPU clocks and keep SMP TSC reads coh…
ppenna Sep 25, 2026
b307073
vmm_core: advance VP TSC and APIC timers across downtime
ppenna Sep 25, 2026
eea6dff
openvmm_defs: add opt-in snapshot lifecycle profiling
ppenna Sep 25, 2026
388d528
openvmm_helpers: version the snapshot manifest format and bound its d…
ppenna Sep 25, 2026
9f680d5
openvmm_helpers: publish snapshots atomically through durable staging
ppenna Sep 25, 2026
f6a4471
openvmm: publish the exact file-backed RAM handle
ppenna Sep 25, 2026
16a3404
membacking: map guest RAM privately copy-on-write with fault accounting
ppenna Sep 25, 2026
6fa7e4c
openvmm_helpers: open snapshots once and read artifacts relative to t…
ppenna Sep 25, 2026
a8c616b
openvmm: restore RAM through a private CoW mapping and retain generat…
ppenna Sep 25, 2026
8765361
openvmm: signal restore readiness to a local socket or pipe
ppenna Sep 25, 2026
91ca89d
virt_whp: resolve unmapped-GPA faults and register restored RAM lazily
ppenna Sep 25, 2026
6bf6fe2
virtio: add device-private saved state with deferred activation and s…
ppenna Sep 25, 2026
415eed0
virtio: forward input quiesce and resume through transports
ppenna Sep 25, 2026
fd4ab02
virtio_console: add attachment identities and reconnect and disconnec…
ppenna Sep 25, 2026
65442cd
virtio_console: persist buffered direct-console I/O
ppenna Sep 25, 2026
df73081
net_backend: add an endpoint queue quiesce contract
ppenna Sep 25, 2026
ebc1ef3
net_tap: quiesce queues and retain pending transmit ownership
ppenna Sep 25, 2026
6614bc4
net_consomme: quiesce endpoint queues
ppenna Sep 25, 2026
bb05441
consomme: add an exact static IPv4 and gateway identity
ppenna Sep 25, 2026
5bed17b
virtio_net: persist drained queue state for static-identity NICs
ppenna Sep 25, 2026
5066f52
fuse: save and restore negotiated session state
ppenna Sep 25, 2026
18869b0
virtiofs: track inode aliases through link, rename, and unlink
ppenna Sep 25, 2026
977b518
loader_defs: name the boot_params ACPI RSDP field
ppenna Sep 25, 2026
f840a0c
loader: let static ELF loading reuse a caller buffer
ppenna Sep 25, 2026
25326da
loader: add an Intel MP 1.4 table builder
ppenna Sep 25, 2026
1adbd9f
loader: add firmware-less Linux direct boot with MP tables
ppenna Sep 25, 2026
0ee411e
vmm_core: make level-triggered legacy IRQs explicit
ppenna Sep 25, 2026
b05cc3e
openvmm_defs: add machine-profile selection
ppenna Sep 25, 2026
cf523f9
virt: describe the deterministic microVM topology
ppenna Sep 25, 2026
d99e685
chipset: add an RTC mode seam
ppenna Sep 25, 2026
abd20e6
vm_manifest_builder: add the minimal microVM base chipset without ACPI
ppenna Sep 25, 2026
76ce1a5
vmm_core: add status-bearing guest power-off
ppenna Sep 25, 2026
a39fe48
chipset: add the microVM portb console
ppenna Sep 25, 2026
073018a
chipset: add the microVM shutdown and exit-status port
ppenna Sep 25, 2026
9d8f017
openvmm_core: boot microVMs through MP-table direct load
ppenna Sep 25, 2026
a0a3dd4
openvmm_core: reject host save, pulse save/restore, and worker restar…
ppenna Sep 25, 2026
345a97d
openvmm_entry: expose `--machine microvm`
ppenna Sep 25, 2026
f68f2c6
petri, vmm_tests: add a microVM builder, portb harness, and cold-boot…
ppenna Sep 25, 2026
354815e
virtio: allow feature masking for virtio-MMIO devices
ppenna Sep 25, 2026
b298c23
openvmm: place virtio devices at fixed microVM MMIO slots
ppenna Sep 25, 2026
589c217
virtio: add shared MMIO interrupt status and ACK doorbells
ppenna Sep 25, 2026
9686e94
openvmm: use shared interrupt status for fixed microVM slots
ppenna Sep 25, 2026
2ce5244
vmm_core: stop VPs at a deferred-I/O boundary
ppenna Sep 25, 2026
c8da54e
chipset: add the microVM snapshot-request port
ppenna Sep 25, 2026
637cd10
openvmm_core: establish the post-OUT snapshot boundary in the worker
ppenna Sep 25, 2026
3b5bb4e
openvmm_core: fence management mutations during snapshot boundaries
ppenna Sep 25, 2026
5221003
openvmm_helpers: define the authoritative microVM machine contract
ppenna Sep 25, 2026
534f688
openvmm_core: propagate the guest TSC frequency for snapshot-capable …
ppenna Sep 25, 2026
5751cf3
openvmm_entry: capture guest-requested microVM snapshots
ppenna Sep 25, 2026
6f19f3f
virt: build a reproducible CPU and clock contract for microVM partitions
ppenna Sep 25, 2026
2c43a18
openvmm_core: validate restored CPU and clock contracts and apply hos…
ppenna Sep 25, 2026
12ba2a3
openvmm_entry: restore microVMs authoritatively
ppenna Sep 25, 2026
56a2cdd
vmm_tests: check that an unconfigured microVM snapshot request continues
ppenna Sep 25, 2026
f802e90
openvmm_entry: add connect= serial backends with bounded timeouts
ppenna Sep 25, 2026
38177c6
openvmm: persist the microVM boot console and rebuild its attachment …
ppenna Sep 25, 2026
0859617
openvmm: attach a portable Consomme NIC to microVMs
ppenna Sep 25, 2026
fd2ac51
openvmm: persist the microVM NIC and restore a fresh endpoint generation
ppenna Sep 25, 2026
1ba29fc
net_tap: support persistent TAP attachments
ppenna Sep 25, 2026
a139f7c
virtiofs: add the fixed microVM filesystem profile
ppenna Sep 25, 2026
f716cef
openvmm_entry: expose `--mount` for the microVM HostFs slot
ppenna Sep 25, 2026
0eb2e5b
virtiofs: persist microVM FUSE namespaces, handles, and directory coo…
ppenna Sep 25, 2026
f68d1ea
openvmm: snapshot the microVM filesystem and revalidate it on restore
ppenna Sep 25, 2026
7e8fa8d
openvmm: reserve a dormant microVM filesystem slot
ppenna Sep 25, 2026
2236eb7
openvmm: add fixed-role microVM sandbox block slots
ppenna Sep 25, 2026
b94811f
openvmm: snapshot sandbox blocks with paired or fresh scratch
ppenna Sep 25, 2026
409efdd
openvmm: add clone and resume tiers with single-use resume claims
ppenna Sep 25, 2026
34ca126
chipset: expose a stable generation ID and restore entropy on portb
ppenna Sep 25, 2026
782f822
openvmm: gate external input until post-restore repair completes
ppenna Sep 25, 2026
b80b54f
vmm_core: instantiate an active VP prefix
ppenna Sep 25, 2026
1531386
openvmm: bring a restore-time processor prefix online
ppenna Sep 25, 2026
d238570
openvmm_core: back expandable restore RAM with fresh private memory
ppenna Sep 25, 2026
e01fb70
openvmm: add bounded restore-time memory expansion
ppenna Sep 25, 2026
e3a0ccf
openvmm_entry: pre-expand the Linux descriptor table at startup
ppenna Sep 25, 2026
8aac9a8
net_backend_resources: define a canonical bound IPv4 egress policy
ppenna Sep 25, 2026
5330b0c
net_backend: let endpoints accept a run-scoped egress policy
ppenna Sep 25, 2026
5cb02a1
net_consomme: enforce the egress policy on final transmitted bytes
ppenna Sep 25, 2026
94b1897
net_tap: enforce the egress policy on TAP transmit
ppenna Sep 25, 2026
76d3ec0
virtio_net: install and prefilter the egress policy
ppenna Sep 25, 2026
5865c2e
openvmm: add microVM network egress policy and bind it into snapshots
ppenna Sep 25, 2026
d085f44
virtiofs: enforce denied subtrees by object identity
ppenna Sep 25, 2026
dbe0903
openvmm: add --mount-deny and record denied paths in snapshots
ppenna Sep 25, 2026
4296c40
serial_core: expose local peer identity and active-peer eviction
ppenna Sep 25, 2026
297e593
serial_socket: report Unix and named-pipe peer identities
ppenna Sep 25, 2026
d671447
virtio_console: define the control-session record protocol
ppenna Sep 25, 2026
d3c37ce
virtio_console: add the control-session broker state machine
ppenna Sep 25, 2026
cf99b6a
virtio_console: attach the broker to serial I/O with receive credits
ppenna Sep 25, 2026
6dc780a
virtio_console: save and restore broker state
ppenna Sep 25, 2026
a9996ab
openvmm: reserve the dedicated microVM control-console slot
ppenna Sep 25, 2026
96056b2
openvmm_helpers: record the control console in the microVM machine co…
ppenna Sep 25, 2026
8686010
openvmm_entry: add authenticated microVM control-console endpoints
ppenna Sep 25, 2026
9d4ebe1
openvmm_entry: drain portb output before guest-requested exit
ppenna Sep 25, 2026
7b8f287
openvmm: add a fixed non-root workload identity
ppenna Sep 25, 2026
921aa9c
openvmm: support a managed workload lifecycle
ppenna Sep 25, 2026
a264cda
openvmm_entry: write bounded microVM outcome reports
ppenna Sep 25, 2026
e211e60
Guide: describe teardown after a failed snapshot boundary
ppenna Sep 25, 2026
9354e09
vmservice: create, capture, and restore microVMs over the management RPC
ppenna Sep 25, 2026
9a60f9f
ttrpc: propagate nonzero guest exit status
ppenna Sep 25, 2026
980a2e7
openvmm_helpers: add a publication and private-restore benchmark
ppenna Sep 25, 2026
4038058
ci: restrict privileged, self-hosted, and publishing jobs to microsof…
ppenna Sep 25, 2026
c94a280
vmservice: keep NVX wire-tag compatibility
ppenna Sep 25, 2026
842f5e3
virt_mshv: synchronize restored TSCs only on created VPs
ppenna Sep 28, 2026
b26d19c
openvmm_core: instantiate only the requested VP prefix on MSHV restore
ppenna Sep 28, 2026
885fde3
Restore listener endpoint rebinding
esaurez Sep 28, 2026
dc61c51
openvmm_entry: compile connect_serial without the RPC features
ppenna Sep 30, 2026
cb6bf80
openvmm_entry: gate RPC-only microVM helpers behind the RPC features
ppenna Sep 30, 2026
8f8eca2
lxutil: add path confinement that never follows symbolic links
ppenna Oct 1, 2026
2728f33
virtiofs: allow symlink creation on read-write microVM shares
ppenna Oct 1, 2026
4355c01
openvmm_entry: flush portb output before a guest-requested snapshot
ppenna Oct 1, 2026
ad38a75
virt: add the NVX time ABI v1 scaffolding
ppenna Oct 1, 2026
3f516be
virt: program explicit zero time ABI identity leaves
ppenna Oct 1, 2026
491f9be
kvm: add MSR filter and vCPU attribute helpers
ppenna Oct 1, 2026
8fe0183
virt_kvm: implement the NVX time ABI backend
ppenna Oct 1, 2026
b591be9
virt_mshv: implement the NVX time ABI backend
ppenna Oct 1, 2026
fc5293f
openvmm_core: add the time ABI platform behind --x-time-abi-v1
ppenna Oct 1, 2026
c9e6b59
openvmm_helpers: add snapshot manifest version 6 for the time ABI
ppenna Oct 1, 2026
41962b9
chipset: serve restore packet v4 and time samples on portb
ppenna Oct 1, 2026
e082b19
virt: export the time ABI capture-anchor bound
ppenna Oct 1, 2026
8175eb3
openvmm_helpers: accept dotted CPU profile IDs
ppenna Oct 1, 2026
28c72d5
virt_mshv: use the shared capture-anchor bound
ppenna Oct 1, 2026
676be8d
virt_kvm: fail loose time ABI anchors and hide IA32_TSC_DEADLINE
ppenna Oct 1, 2026
16b0708
kvm, whp: add the capability queries the CPU fingerprint needs
ppenna Oct 1, 2026
3e84aaa
cpu_profile: fingerprint the supported CPU surface of each backend
ppenna Oct 1, 2026
630b06f
hypervisor_resources, openvmm_hypervisors: let a probe fingerprint it…
ppenna Oct 1, 2026
608f9fa
cpu_profile: pin CPU profiles, and select, verify, and restore them
ppenna Oct 1, 2026
299426b
openvmm: add the time ABI restore preflight behind --x-time-abi-v1
ppenna Oct 1, 2026
1b06cb5
virt_mshv: record the effective CPUID of VP 0 at reset
ppenna Oct 1, 2026
4567a3f
cpu_profile: report every violation, and reject ambiguous generations
ppenna Oct 1, 2026
7d16b4b
openvmm: capture and restore the time ABI clocks behind --x-time-abi-v1
ppenna Oct 1, 2026
f12a8c1
openvmm: profile the time ABI guest resume and repair phases
ppenna Oct 1, 2026
416f23e
virt: document bounded re-sampling for both time ABI anchors
ppenna Oct 1, 2026
c26e03b
openvmm: drop saved per-VP TSC values in time ABI restores
ppenna Oct 1, 2026
d1a5085
virt_whp: implement the NVX time ABI backend
ppenna Oct 1, 2026
91a556e
virt_kvm: document that time ABI restores write no saved TSC
ppenna Oct 1, 2026
84bd27b
virt_mshv: resume partition time right after the TSC read-back
ppenna Oct 1, 2026
0d97e87
openvmm_helpers: test a time ABI platform snapshot without clock tokens
ppenna Oct 1, 2026
1c3b582
virt: raise the time ABI anchor bound to 100 us
ppenna Oct 1, 2026
55e4439
openvmm_entry: add the --cpu-fingerprint tool
ppenna Oct 1, 2026
8122b97
virt_whp: derive time ABI processor features from a CPU profile
ppenna Oct 1, 2026
2fc7f03
cpu_profile: pin the generic brand of each generation
ppenna Oct 1, 2026
7449e1a
openvmm_entry: lead the fatal error message with the time ABI code
ppenna Oct 1, 2026
f3df8ec
virt: document the time ABI backend call order
ppenna Oct 1, 2026
2f04a13
virt_kvm: raise #GP for the legacy L2-cache MSRs under the time ABI
ppenna Oct 1, 2026
ff13091
openvmm: carry the selected CPU profile in the time ABI configuration
ppenna Oct 1, 2026
79b3d1e
virt_whp: derive processor features from the partition's CPU profile
ppenna Oct 1, 2026
17b81a8
virt_whp: program the CPU profile's CPUID leaves with CpuidResultList2
ppenna Oct 1, 2026
bf17190
virt_mshv: wake halted VPs for vectors written into the LAPIC IRR
ppenna Oct 1, 2026
8af9ba5
virt_mshv: re-assert a pending LAPIC vector when the VP next runs
ppenna Oct 1, 2026
f0bd3dd
openvmm: program the CPU profile's complete effective CPUID under the…
ppenna Oct 1, 2026
3bea89b
virt_kvm: program the CPU profile under the time ABI
ppenna Oct 1, 2026
1fd109b
cpu_profile: share the Hyper-V feature table and profile features
ppenna Oct 1, 2026
c250fba
virt: resume partition time inside the time ABI synchronized TSC set
ppenna Oct 1, 2026
7fc996d
cpu_profile: record the Hyper-V feature constraints MSHV enforces
ppenna Oct 1, 2026
a86055b
virt_mshv: derive time ABI processor features from the CPU profile
ppenna Oct 1, 2026
3457472
openvmm_core: log the phases of the time ABI restore clock
ppenna Oct 1, 2026
943aa2a
virt_whp: serve the complete effective CPUID through CpuidResultList2
ppenna Oct 1, 2026
eecdd50
virt_whp: assert a pending LAPIC vector written into a halted VP's IRR
ppenna Oct 1, 2026
d92acd1
virt_whp: report a cheap supported CPU surface for the time ABI
ppenna Oct 1, 2026
a1bafb6
virt_whp: use the shared Hyper-V feature table
ppenna Oct 1, 2026
ebef8ce
openvmm_core: drop the time ABI restore's separate LAPIC timer pass
ppenna Oct 1, 2026
b2452ca
virt_mshv: characterize how MSHV composes CPUID results
ppenna Oct 1, 2026
9c8bc2e
virt_whp: check that unlisted CPUID subleaves read zero
ppenna Oct 1, 2026
3426760
cpu_profile: check the guest physical address width once
ppenna Oct 1, 2026
1b6cef3
virt: verify the CPU profile's support at every time ABI boot
ppenna Oct 1, 2026
ffb80e8
virt_mshv: make the time ABI's unlisted CPUID leaves and subleaves re…
ppenna Oct 1, 2026
593a4b4
virt_whp: check that core's CPUID table presents what the profile did
ppenna Oct 1, 2026
c674090
virt_whp: build the test-only CPUID constants only for tests
ppenna Oct 1, 2026
c2a2ff3
virt_mshv: program the time ABI CPUID verbatim and check XSAVE compon…
ppenna Oct 2, 2026
54c0346
openvmm: verify the restore's CPU profile records by digest
ppenna Oct 2, 2026
87b6062
cpu_profile: parse only the profiles a start needs, and encode directly
ppenna Oct 2, 2026
11a8ef1
virt: add the E_CPU_UNLISTED time ABI code
ppenna Oct 2, 2026
1779ce4
cpu_profile: select a profile without parsing the others
ppenna Oct 2, 2026
1127ab1
cpu_profile: fail pass-through backends that present unlisted CPUID e…
ppenna Oct 2, 2026
ffb14b7
state_unit: advance time only in the units that keep their own
ppenna Oct 2, 2026
916f352
virt_whp: keep the extended topology subleaves the time ABI lists
ppenna Oct 2, 2026
6a06fda
openvmm_core: fail a presented non-zero CPUID entry outside the profile
ppenna Oct 2, 2026
8ad6668
cpu_profile: embed the pinned profiles as static data
ppenna Oct 2, 2026
2a108a0
virt_mshv: give each VP its x2APIC ID in the time ABI's topology leaves
ppenna Oct 2, 2026
4b75f77
openvmm_core: list the extended topology terminator in the effective …
ppenna Oct 1, 2026
259186e
virt: share the extended topology terminator with backend tests
ppenna Oct 2, 2026
ba88ab3
cpu_profile: state that no CPUID entry outside the profile carries ho…
ppenna Oct 2, 2026
dedd8cf
virt_mshv: report VP 0's view at the host's unlisted CPUID entries
ppenna Oct 2, 2026
e5e6724
virt_mshv: add the extended topology terminator to the hardware tests…
ppenna Oct 2, 2026
399c62a
virt_whp: report VP 0's view of the host entries outside the profile
ppenna Oct 2, 2026
c45d6a3
virt_whp: use the shared extended topology terminator in tests
ppenna Oct 2, 2026
07ca855
virt_mshv: check the probe partition's surface as a guest view
ppenna Oct 2, 2026
093780b
openvmm: record the CPU profile without encoding or hashing it
ppenna Oct 2, 2026
e5606bf
virt_mshv: read the effective CPUID in one hypercall
ppenna Oct 2, 2026
93f9f11
virt_mshv: check that CPUID reads zero far outside the effective CPUID
ppenna Oct 2, 2026
ce3c054
cpu_profile: enumerate the host CPUID without the hypervisor range
ppenna Oct 2, 2026
ee5bd08
cpu_profile: keep the codecs and digests off the start paths
ppenna Oct 2, 2026
3cf947c
virt_mshv: drop the time ABI's zero results for reserved CPUID entries
ppenna Oct 2, 2026
c495598
virt_mshv: enumerate the host CPUID without the hypervisor range
ppenna Oct 2, 2026
c26852c
virt_mshv: test that a non-zero reserved CPUID entry fails E_CPU_UNLI…
ppenna Oct 2, 2026
cf90a88
openvmm_core: advance the LAPICs and VM time concurrently on restore
ppenna Oct 2, 2026
91b5dec
virt_mshv: read the preflight's identity sentinels in one hypercall
ppenna Oct 2, 2026
12b4f60
openvmm: make the NVX time ABI the only microVM time path
ppenna Oct 1, 2026
6c1aa27
virt_kvm: delete the legacy microVM time code
ppenna Oct 1, 2026
947291e
virt_mshv: remove the legacy microVM clock code
ppenna Oct 1, 2026
cfdfcdc
virt_whp: remove the legacy microVM clock paths
ppenna Oct 1, 2026
aaff0bb
virt, vmm_core, openvmm_core: delete the legacy microVM clock interfaces
ppenna Oct 2, 2026
9383bbc
virt_whp: enumerate the host CPUID without the hypervisor range
ppenna Oct 2, 2026
b164a64
openvmm_helpers, openvmm_entry: make manifest version 6 the only snap…
ppenna Oct 2, 2026
0205e8c
chipset, chipset_resources: remove the microVM portb legacy entropy p…
ppenna Oct 2, 2026
862e838
Guide: describe manifest version 6 as the only snapshot version
ppenna Oct 2, 2026
cacff55
virt_mshv: read the host CPUID on another thread
ppenna Oct 2, 2026
b06c3a8
virt_mshv: keep partition time frozen from preflight to the TSC set
ppenna Oct 2, 2026
b23fc1a
virt_mshv: register only the CPUID results VP 0 does not already present
ppenna Oct 2, 2026
c5ef7ec
virt_mshv: read the partition capabilities' CPUID in one hypercall
ppenna Oct 2, 2026
46e06c0
virt: type the x86 topology helpers for x86 topologies
ppenna Oct 2, 2026
8470b7b
virt: build the time ABI effective CPUID in one place
ppenna Oct 2, 2026
2bc9ccd
virt: share the L3 cache across the socket in CPUID leaf 4
ppenna Oct 2, 2026
bfc2324
cpu_profile: point the effective CPUID docs at virt's builder
ppenna Oct 2, 2026
5eec313
openvmm_entry, virt: trim the time ABI restore preflight
ppenna Oct 2, 2026
c71664c
Guide: state that an OpenVMM build with a different effective CPUID n…
ppenna Oct 2, 2026
0846686
cpu_profile: name the Skylake-SP test hosts by their CPU
ppenna Oct 2, 2026
44b6574
virt: describe test hosts generically in comments
ppenna Oct 2, 2026
53c4d1a
virt_mshv, virt_whp: name test host fixtures by CPU
ppenna Oct 2, 2026
c61f60f
virt_support_x86emu: make the tests' vector and VTL comparisons explicit
ppenna Oct 3, 2026
974f356
kvm: pad the MSR filter bitmaps and drop the generic vCPU enable_cap
ppenna Oct 3, 2026
8c01aab
lxutil: switch filesystem credentials per thread on Linux
ppenna Oct 5, 2026
b7696e7
virtiofs: perform microVM share requests as the guest caller
ppenna Oct 5, 2026
fc7f7b2
openvmm: pin an Alder Lake CPU profile and add opt-in host profiles
ppenna Oct 5, 2026
739d949
openvmm: measure --cpu-fingerprint's unlisted CPUID like a cold boot
ppenna Oct 5, 2026
4cb5777
openvmm_core: name --cpu-profile host when no profile serves the host
ppenna Oct 5, 2026
22a8684
microVM: attach a second virtio-fs share with its own slot
ppenna Oct 6, 2026
a41cf73
microVM: compare share mount sources and pin the bootstrap order
ppenna Oct 6, 2026
d290df6
cpu_profile, virt: accept AMD CPUs in CPU profiles and host profiles
ppenna Oct 6, 2026
905993c
cpu_profile: map the Hyper-V feature banks to AMD's CPUID bits
ppenna Oct 6, 2026
933c1de
virt: serve AMD's HWCR and DE_CFG and per-VP 0x8000001E under AMD pro…
ppenna Oct 6, 2026
07850d2
cpu_profile: pin an AMD Milan CPU profile, amd.milan.v1
ppenna Oct 6, 2026
aa9f6c4
virt_mshv: measure --cpu-fingerprint's unlisted CPUID like a cold boot
ppenna Oct 6, 2026
3951c84
cpu_profile: pin AMD Genoa and Turin CPU profiles
ppenna Oct 6, 2026
762bc1c
virtiofs: add a per-subtree access policy to microVM shares
ppenna Oct 6, 2026
3e1f5bd
virt_whp: let WHP answer CPUID leaves 0 and 1 without exits
ppenna Oct 5, 2026
92205a8
Add generation-bound microVM snapshots
esaurez Sep 29, 2026
b2bfbf2
Bind claimed scratch by file identity
esaurez Sep 29, 2026
0eccda8
Validate snapshot scratch restore support
ppenna Oct 8, 2026
96e2363
openvmm_core: fall back from --cpu-profile auto to a host profile
ppenna Oct 8, 2026
f12dcf5
Permit RAM-backed microVM overlays without scratch
esaurez Oct 5, 2026
3796991
net_backend_resources: select egress rules by protocol without a port
ppenna Oct 9, 2026
f4566ba
net_backend_resources: select egress rules by destination-port range
ppenna Oct 9, 2026
f5c8dab
virtio_blk: add bind-once image slots
esaurez Oct 6, 2026
0a3dc07
microvm: add bind-once read-only image slots
esaurez Oct 7, 2026
4eb0948
microvm: fold image slots into ABI 2
esaurez Oct 8, 2026
67b641d
microvm: harden host-control framing, logging, and cleanup
esaurez Oct 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 3 additions & 2 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,9 @@ rustc-link-search = []

[target.'cfg(all(windows, target_env = "msvc"))']
rustflags = [
# Set up delayloads.
"-C", "link-args=dloadhelper.lib /delayload:ws2_32.dll /delayload:virtdisk.dll /delayload:user32.dll /delayload:winhvplatform.dll /delayload:bcrypt.dll /delayload:crypt32.dll",
# Keep Winsock eager: mixed raw-dylib and native import libraries can produce
# invalid delay-import thunks. Optional platform libraries remain delay-loaded.
"-C", "link-args=dloadhelper.lib /delayload:virtdisk.dll /delayload:user32.dll /delayload:winhvplatform.dll /delayload:bcrypt.dll /delayload:crypt32.dll",
# Set up the CRT: use ucrtbase.dll but statically link the VC runtime.
"-C", "link-args=/nodefaultlib onecore_apiset.lib ucrt.lib libvcruntime.lib libcmt.lib",
# Enable CFG
Expand Down
17 changes: 16 additions & 1 deletion .config/nextest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,26 @@ threads-required = 2
# Use the same slow timeout as ci, but never terminate
slow-timeout = { period = "10m" }

[[profile.ci.overrides]]
# This test exhaustively models two writers racing a reader across wraparound
# and takes over a minute on Windows. Keep the larger budget scoped to it.
filter = 'package(atomic_ringbuf) and test(/^loom_tests::loom_multi_writer_wraparound$/)'
slow-timeout = { period = "60s", terminate-after = 2 }

[[profile.agent.overrides]]
filter = 'package(atomic_ringbuf) and test(/^loom_tests::loom_multi_writer_wraparound$/)'
slow-timeout = { period = "60s", terminate-after = 2 }

[[profile.ci.overrides]]
# allow loom based tests more time, as they take a while
filter = 'test(loom)'
slow-timeout = { period = "30s", terminate-after = 2 }

[[profile.agent.overrides]]
# Keep the same exhaustive loom test budget as CI.
filter = 'test(loom)'
slow-timeout = { period = "30s", terminate-after = 2 }

# Profile for AI agent runs. Minimizes output noise: only prints slow, failing,
# and flaky tests. Agents should use: cargo nextest run -p <pkg> --profile agent
[profile.agent]
Expand All @@ -88,4 +103,4 @@ fail-fast = false

[profile.ci.junit]
path = "junit.xml"
store-success-output = "true"
store-success-output = "true"
8 changes: 8 additions & 0 deletions .github/instructions/doc-code-sync.instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,14 @@ does, the PR should update the Guide or flag a follow-up.

- CLI args changed in `openvmm_entry` → `Guide/src/reference/openvmm/management/cli.md`
- Device crate under `vm/devices/` changed → look for a matching page under `Guide/src/reference/`
- virtio-fs backends, queue/cache policy, save/restore, or microVM attachment
semantics changed (`vm/devices/virtio/virtiofs/`,
`vm/devices/virtio/virtio_resources/`, `vm/devices/support/fs/fuse/`) →
`Guide/src/reference/devices/virtio/virtio-fs.md`
- Control-session framing, record types, payload rules, receive credits,
authentication, or reconnect behavior changed
(`vm/devices/virtio/virtio_console/`) →
`Guide/src/reference/openvmm/management/control_session_protocol.md`
- OpenHCL internals changed (`openhcl/`) → `Guide/src/reference/architecture/openhcl/`
- Crate renamed or moved → grep `Guide/src/` for the old name
- New crate under `vm/devices/` → consider whether it needs a reference page
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/dep-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ permissions:

jobs:
dep-review:
if: github.repository == 'microsoft/openvmm'
runs-on: ubuntu-latest
steps:
- name: Checkout base branch (safe — our own code)
Expand Down
60 changes: 30 additions & 30 deletions .github/workflows/openvmm-ci.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/openvmm-docs-ci.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading