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