qemu/target/i386/hvf
Philippe Mathieu-Daudé 2e84d8521f hvf: Remove deprecated hv_vcpu_flush() calls
When building on macOS 11 [*], we get:

  In file included from ../target/i386/hvf/hvf.c:59:
  ../target/i386/hvf/vmx.h:174:5: error: 'hv_vcpu_flush' is deprecated: first deprecated in macOS 11.0 - This API has no effect and always returns HV_UNSUPPORTED [-Werror,-Wdeprecated-declarations]
      hv_vcpu_flush(vcpu);
      ^
  /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Hypervisor.framework/Headers/hv.h:364:20: note: 'hv_vcpu_flush' has been explicitly marked deprecated here
  extern hv_return_t hv_vcpu_flush(hv_vcpuid_t vcpu)
                     ^

Since this call "has no effect", simply remove it ¯\_(ツ)_/¯

Not very useful deprecation doc:
https://developer.apple.com/documentation/hypervisor/1441386-hv_vcpu_flush

[*] Also 10.15 (Catalina):
    https://lore.kernel.org/qemu-devel/Yd3DmSqZ1SiJwd7P@roolebo.dev/

Reviewed-by: Roman Bolshakov <r.bolshakov@yadro.com>
Tested-by: Roman Bolshakov <r.bolshakov@yadro.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
2022-03-15 13:36:33 +01: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 osdep: Move memalign-related functions to their own header 2022-03-07 13:16:49 +00: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 Clean up ill-advised or unusual header guards 2019-05-13 08:58:55 +02:00
vmx.h hvf: Remove deprecated hv_vcpu_flush() calls 2022-03-15 13:36:33 +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 target: Use forward declared type instead of structure type 2022-03-06 22:22:40 +01:00
x86_emu.h target: Use forward declared type instead of structure type 2022-03-06 22:22:40 +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: Use standard CR0 and CR4 register definitions 2022-03-15 13:36:33 +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: Remove deprecated hv_vcpu_flush() calls 2022-03-15 13:36:33 +01: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 hvf: Use standard CR0 and CR4 register definitions 2022-03-15 13:36:33 +01:00
x86.h hvf: Use standard CR0 and CR4 register definitions 2022-03-15 13:36:33 +01:00
x86hvf.c hvf: Remove deprecated hv_vcpu_flush() calls 2022-03-15 13:36:33 +01: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.