Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 34 additions & 2 deletions doc/openvmm-upstream-roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,11 @@
## Scope

- OpenVMM fork base: `e1cdbd916d3aacb216309c8e7779b832546759a1`.
- OpenVMM fork tip: `2728f33ea9a44d2d0fb956d9f01768ae2100fb62`.
- Mapped fork tip: `2728f33ea9a44d2d0fb956d9f01768ae2100fb62`, position 166. The graph, PR
summary, and commit mapping below cover positions 001-166.
- NVX's pinned OpenVMM revision: `7bf0ee28b826374a2d386067df0456b81bcae818`, 139 commits past the
mapped tip on the same first-parent chain. These commits are not yet assigned to PRs; see
[Commits after the mapped tip](#commits-after-the-mapped-tip).
- Upstream main: `1fd455b19e7c69c72a2d375d0ed1cb35d901c688` (2026-10-01), 18 commits past
the fork base.

Expand Down Expand Up @@ -194,7 +198,8 @@ e1cdbd916
-> PR20 fixup [160] -> PR20/PR25 split [161]
-> PR18/PR23 split [162]
-> PR18 fixup [163] -> PR25 fixup [164] -> PR27 [165-166]
-> 2728f33ea
-> 2728f33ea (mapped tip)
-> unassigned [167-305] -> 7bf0ee28b (NVX pin)
```

For upstream review, PR01-PR08 and PR14 can be rebased independently onto current upstream main.
Expand All @@ -208,6 +213,33 @@ between PR18 and PR23 before submission. Fold position 163 into PR18's position
164 into PR25's position 155. PR27 can be prepared once PR22 lands; its generic confinement commit
can be submitted independently if preferred.

## Commits after the mapped tip

The NVX pin extends the chain past position 166 without merges. The 139 later commits are not
yet classified or assigned to PRs. This table groups them by topic in chain order; ranges are
inclusive, as in the [PR summary](#pr-summary).

| Positions | Commit range | Count | Topic |
| ---: | --- | ---: | --- |
| 167 | `4355c010e` | 1 | Flush buffered portb output before a guest-requested snapshot |
| 168-278 | `ad38a75c6..974f35652` | 111 | NVX time ABI v1 on KVM, MSHV, and WHP; pinned CPU profiles and the `--cpu-fingerprint` tool; removal of the legacy microVM clock paths; snapshot manifest version 6 as the only format; and MSHV and WHP delivery of LAPIC vectors written into a halted VP's IRR |
| 279-280 | `8c01aabc1..b7696e7ba` | 2 | Serve microVM virtio-fs share requests as the guest caller |
| 281-283 | `fc7f7b2c4..4cb5777fa` | 3 | Alder Lake CPU profile and opt-in host CPU profiles |
| 284-285 | `22a868409..a41cf7351` | 2 | Second microVM virtio-fs slot, which position 302 removes |
| 286-291 | `d290df675..3951c8415` | 6 | AMD CPU profiles (Milan, Genoa, and Turin) and AMD host profiles |
| 292 | `762bc1c7a` | 1 | Per-subtree access policy for microVM shares |
| 293 | `3e1f5bd48` | 1 | WHP answers CPUID leaves 0 and 1 without exits |
| 294-296 | `92205a8ce..0eccda895` | 3 | Generation-bound microVM snapshots and scratch bound by file identity |
| 297 | `96e2363b1` | 1 | `--cpu-profile auto` falls back to a host profile |
| 298 | `f12dcf5e8` | 1 | RAM-backed microVM overlays without scratch |
| 299-301 | `3796991d5..e5bf79776` | 3 | Egress rules that select a protocol or a destination-port range, and IPv6 in the portable network profile |
| 302-305 | `3072d7a91..7bf0ee28b` | 4 | Several host directories on one virtio-fs slot, their snapshot, and their path policy |

Some of these commits change mapped work rather than add to it. Positions 255-259 remove the
legacy microVM clock paths and change files that PR10 and PR17 also change. Position 261 makes
manifest version 6 the only snapshot format and changes files that PR11 and PR17 also change.
Assigning the later commits therefore means revisiting those PRs, not only appending new ones.

## PR summary

`N + split` means N whole commits plus selected hunks from a physical commit. Fixup positions count
Expand Down
Loading