qemu/target/i386/hvf
David Edmondson fea4500841 target/i386: Populate x86_ext_save_areas offsets using cpuid where possible
Rather than relying on the X86XSaveArea structure definition,
determine the offset of XSAVE state areas using CPUID leaf 0xd where
possible (KVM and HVF).

Signed-off-by: David Edmondson <david.edmondson@oracle.com>
Message-Id: <20210705104632.2902400-8-david.edmondson@oracle.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-07-06 08:33:48 +02:00
..
hvf-cpu.c target/i386: Populate x86_ext_save_areas offsets using cpuid where possible 2021-07-06 08:33:48 +02:00
hvf-i386.h hvf: Move hvf internal definitions into common header 2021-06-03 16:43:26 +01:00
hvf.c target/i386: Populate x86_ext_save_areas offsets using cpuid where possible 2021-07-06 08:33:48 +02:00
meson.build hvf: Move vcpu thread functions into common directory 2021-06-03 16:43:26 +01:00
panic.h x86 hvf cpus: Fix Lesser GPL version number 2020-11-15 16:45:27 +01:00
README.md
vmcs.h
vmx.h hvf: Introduce hvf vcpu struct 2021-06-03 16:43:27 +01:00
x86_cpuid.c hvf: Guard xgetbv call 2021-02-16 17:15:39 +01:00
x86_decode.c x86 hvf cpus: Fix Lesser GPL version number 2020-11-15 16:45:27 +01:00
x86_decode.h x86 hvf cpus: Fix Lesser GPL version number 2020-11-15 16:45:27 +01:00
x86_descr.c hvf: Introduce hvf vcpu struct 2021-06-03 16:43:27 +01:00
x86_descr.h x86 hvf cpus: Fix Lesser GPL version number 2020-11-15 16:45:27 +01:00
x86_emu.c hvf: Introduce hvf vcpu struct 2021-06-03 16:43:27 +01:00
x86_emu.h x86 hvf cpus: Fix Lesser GPL version number 2020-11-15 16:45:27 +01:00
x86_flags.c x86 hvf cpus: Fix Lesser GPL version number 2020-11-15 16:45:27 +01:00
x86_flags.h x86 hvf cpus: Fix Lesser GPL version number 2020-11-15 16:45:27 +01:00
x86_mmu.c hvf: Introduce hvf vcpu struct 2021-06-03 16:43:27 +01:00
x86_mmu.h x86 hvf cpus: Fix Lesser GPL version number 2020-11-15 16:45:27 +01:00
x86_task.c hvf: Introduce hvf vcpu struct 2021-06-03 16:43:27 +01:00
x86_task.h
x86.c hvf: Introduce hvf vcpu struct 2021-06-03 16:43:27 +01:00
x86.h hvf: Fix segment selector format 2020-11-18 09:32:17 +01:00
x86hvf.c target/i386: Pass buffer and length to XSAVE helper 2021-07-06 07:54:53 +02:00
x86hvf.h hvf: Move cpu functions into common directory 2021-06-03 16:43:26 +01:00

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.