qemu-e2k/target/i386/hvf
Cameron Esfahani 64bef038e7 hvf: correctly inject VMCS_INTR_T_HWINTR versus VMCS_INTR_T_SWINTR.
Previous implementation in hvf_inject_interrupts() would always inject
VMCS_INTR_T_SWINTR even when VMCS_INTR_T_HWINTR was required.  Now
correctly determine when VMCS_INTR_T_HWINTR is appropriate versus
VMCS_INTR_T_SWINTR.

Make sure to clear ins_len and has_error_code when ins_len isn't
valid and error_code isn't set.

Signed-off-by: Cameron Esfahani <dirty@apple.com>
Message-Id: <bf8d945ea1b423786d7802bbcf769517d1fd01f8.1575330463.git.dirty@apple.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2019-12-03 09:11:42 +01:00
..
hvf-i386.h
hvf.c hvf: correctly inject VMCS_INTR_T_HWINTR versus VMCS_INTR_T_SWINTR. 2019-12-03 09:11:42 +01:00
Makefile.objs
panic.h
README.md
vmcs.h
vmx.h hvf: more accurately match SDM when setting CR0 and PDPTE registers 2019-11-26 09:58:37 +01:00
x86_cpuid.c
x86_decode.c hvf: correctly handle REX prefix in relation to legacy prefixes 2019-11-26 09:58:36 +01:00
x86_decode.h hvf: correctly handle REX prefix in relation to legacy prefixes 2019-11-26 09:58:36 +01:00
x86_descr.c
x86_descr.h
x86_emu.c hvf: remove TSC synchronization code because it isn't fully complete 2019-11-26 09:58:35 +01:00
x86_emu.h
x86_flags.c
x86_flags.h
x86_mmu.c
x86_mmu.h
x86_task.c
x86_task.h
x86.c
x86.h
x86hvf.c hvf: correctly inject VMCS_INTR_T_HWINTR versus VMCS_INTR_T_SWINTR. 2019-12-03 09:11:42 +01:00
x86hvf.h

OS X Hypervisor.framework support in QEMU

These sources (and ../hvf-all.c) are adapted from Veertu Inc's vdhh (Veertu Desktop Hosted Hypervisor) (last known location: https://github.com/veertuinc/vdhh) with some minor changes, the most significant of which were:

  1. Adapt to our current QEMU's CPUState structure and address_space_rw API; many struct members have been moved around (emulated x86 state, xsave_buf) due to historical differences + QEMU needing to handle more emulation targets.
  2. Removal of apic_page and hyperv-related functionality.
  3. More relaxed use of qemu_mutex_lock_iothread.