qemu-e2k/target/i386/hvf
Cameron Esfahani d8cf2c29cc hvf: Enable RDTSCP support
Pass through RDPID and RDTSCP support in CPUID if host supports it.
Correctly detect if CPU_BASED_TSC_OFFSET and CPU_BASED2_RDTSCP would
be supported in primary and secondary processor-based VM-execution
controls.  Enable RDTSCP in secondary processor controls if RDTSCP
support is indicated in CPUID.

Signed-off-by: Cameron Esfahani <dirty@apple.com>
Message-Id: <20220214185605.28087-7-f4bug@amsat.org>
Tested-by: Silvio Moioli <moio@suse.com>
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1011
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
2022-07-13 00:05:39 +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 hvf: Enable RDTSCP support 2022-07-13 00:05:39 +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 i386: Compile CPUX86State xsave_buf only when support KVM or HVF 2018-10-02 19:09:12 +02:00
vmcs.h hvf: Enable RDTSCP support 2022-07-13 00:05:39 +02:00
vmx.h Fix 'writeable' typos 2022-06-08 19:38:47 +01:00
x86_cpuid.c hvf: Enable RDTSCP support 2022-07-13 00:05:39 +02:00
x86_decode.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
x86_decode.h x86 hvf cpus: Fix Lesser GPL version number 2020-11-15 16:45:27 +01:00
x86_descr.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
x86_descr.h x86 hvf cpus: Fix Lesser GPL version number 2020-11-15 16:45:27 +01:00
x86_emu.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
x86_emu.h target: Use forward declared type instead of structure type 2022-03-06 22:22:40 +01:00
x86_flags.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
x86_flags.h x86 hvf cpus: Fix Lesser GPL version number 2020-11-15 16:45:27 +01:00
x86_mmu.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
x86_mmu.h x86 hvf cpus: Fix Lesser GPL version number 2020-11-15 16:45:27 +01:00
x86_task.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
x86_task.h Clean up header guards that don't match their file name 2019-05-13 08:58:55 +02:00
x86.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
x86.h hvf: Use standard CR0 and CR4 register definitions 2022-03-15 13:36:33 +01:00
x86hvf.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
x86hvf.h hvf: Make hvf_get_segments() / hvf_put_segments() local 2022-03-15 13:36:33 +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.