Windows 11 example for x86-64 - #369
Open
dreamliner787-9 wants to merge 8 commits into
Open
Conversation
dreamliner787-9
force-pushed
the
windows_mark_ii
branch
7 times, most recently
from
August 6, 2026 02:41
ff3af3d to
5f9b13f
Compare
dreamliner787-9
force-pushed
the
windows_mark_ii
branch
from
August 10, 2026 11:33
5f9b13f to
df3b907
Compare
Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au>
For above 4G region on x86_64. Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au>
Windows like to read this sometimes. If we don't handle it then it will triple fault. Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au>
Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au>
Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au>
If seL4 is built with AVX on then expose AVX to the guest as well. Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au>
Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au>
dreamliner787-9
force-pushed
the
windows_mark_ii
branch
from
August 12, 2026 12:55
df3b907 to
3bb4988
Compare
cp -r examples/virtio_pci examples/windows Except for ARM stuff, Linux and Buildroot config files. Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au> examples/windows: renamed and purged stuff from virtio_pci Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au> examples/windows: +QEMU RAM, fix virtio regs moving, +bochs-display Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au> examples/windows: rm serial subsystem + boot UEFI Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au> examples/windows: add bochs-display passthrough Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au> examples/windows: bump guest RAM to 11G Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au> examples/windows: passthrough kb + mouse Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au> examples/windows: handle all IRQ passthrough Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au> examples/windows: fix BSOD inaccessible boot device Turns out Windows is very strict on ACPI DSDT parsing. The PCI devices need an interrupt link device. The Link devices must have all the methods even if they are dummy, else the Windows' resource arbiter will not accept the interrupt and fail the viostor driver binding process. Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au> examples/windows: purge linux Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au> examples/windows: fix PS/2 KB+M not working on Windows We need to tell Windows that our virtual PCI bridge decodes I/O Ports range that these legacy devices live in. Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au> HACK: enable Intel APICv operation Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au> checkpoint windows 10+11 working on QEMU, just need APICv kernel patch Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au> examples/windows: metaprogram clean ups Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au> examples/windows: add debugging guide Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au> examples/windows: lower guest RAM to 8GB, lower reso to 1080p Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au> examples/windows: add install instructions Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au> examples/windows: use OVMF with LionsOS logo Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au> examples/windows: add UEFI repro instruction Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au>
dreamliner787-9
force-pushed
the
windows_mark_ii
branch
from
August 12, 2026 13:04
3bb4988 to
1dbf958
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Desktop guest OS now works reliably on top of mainline libvmm, running on QEMU.
For Windows to work, a kernel patch is required to enable Intel APICv (hardware accelerated APIC virtualisation) until I can get my RFC below ratified.
This is not quite ready yet, but opening a PR to keep track.
TODOs for me to get this finalised:
Nice to haves before merging this:
Things to look into post-merging:
Closes #279.
Example of Windows 11 virtualised on libvmm, running on QEMU, i.e. nested virtualisation. But it still runs with great performance all things considered:


Ubuntu:
