Hi Mohamed,

While running an unmodified x86_64 macOS 13 guest on QEMU 11.0.50/WHPX (Windows 
11, AMD Ryzen 7 9700X), we hit a reproducible shadow page-table staleness: 
after a #PF is delivered and the guest installs the mapping (host-side walk 
shows the PDPTE present, e.g. 0x1f56c6027), WHvRunVirtualProcessor keeps 
faulting on the same address forever. Same-value CR3 writes, PCD-toggled CR3 
writes, and host-side page-table repair do not refresh it. The guest loops 
15-20 minutes during early boot (kext-load memcpy into freshly mapped kalloc 
pages).

Trying WHvDeleteVirtualProcessor + WHvCreateVirtualProcessor (registers 
saved/restored) instead bugchecks the HOST: 0x00020001 HYPERVISOR_ERROR, params 
(0x11, 0x3578c0, 0x1005, 0xffffe70000c04dc0) - reproduced twice, minidumps 
090326-10984-01.dmp / 090326-9484-01.dmp.

Full report: https://gitlab.com/qemu-project/qemu/-/work_items/4385 (notes 
3778137598 and 3778146512).

Any pointer on how a WHPX consumer is supposed to refresh the shadow after 
guest page-table updates would be much appreciated.

Thanks!
Jiajun Liang

Reply via email to