On 24/11/19 21:05, Cameron Esfahani wrote: > The following patches fix stability issues with running QEMU on Apple > Hypervisor Framework (HVF): > - non-RAM, non-ROMD areas need to trap so accesses can be correctly > emulated. > - Current TSC synchronization implementation is insufficient: when > running with more than 1 core, TSC values can go backwards. Until > a correct implementation can be written, remove calls to > hv_vm_sync_tsc(). Pass through TSC to guest OS. > - Fix REX emulation in relation to legacy prefixes. > - More correctly match SDM when setting CR0 and PDPTE registers. > - Save away exception type as well as vector in hvf_store_events() so > they can be correctly reinjected in hvf_inject_interrupts(). Under > heavy loads, exceptions got misrouted.
Certainly no doubt about patches 1-4, while for patch 5 I'm wondering if it's masking another bug; I'd prefer to have also some assertions that interrupt_injected is never an exception and exception_nr is never an interrupt. Peter, can you apply patches 1-4 directly? I cannot even compile-test them right now, but they are obviously bugfixes. Paolo