Message ID | 20220110131001.614319-5-f4bug@amsat.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | host: Support macOS 12 | expand |
On Mon, Jan 10, 2022 at 02:09:58PM +0100, Philippe Mathieu-Daudé wrote: > When building on macOS 12, 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); > ^ This seems to be true even for older macOS (e.g. Catalina). > /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 > Reviewed-by: Roman Bolshakov <roman@roolebo.dev> Tested-by: Roman Bolshakov <roman@roolebo.dev> Thanks, Roman > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > target/i386/hvf/vmx.h | 2 -- > target/i386/hvf/x86_task.c | 1 - > target/i386/hvf/x86hvf.c | 2 -- > 3 files changed, 5 deletions(-) > > diff --git a/target/i386/hvf/vmx.h b/target/i386/hvf/vmx.h > index 6df87116f62..094fb9b9dc9 100644 > --- a/target/i386/hvf/vmx.h > +++ b/target/i386/hvf/vmx.h > @@ -159,7 +159,6 @@ static inline void macvm_set_cr0(hv_vcpuid_t vcpu, uint64_t cr0) > wvmcs(vcpu, VMCS_GUEST_CR0, cr0 | CR0_NE | CR0_ET); > > hv_vcpu_invalidate_tlb(vcpu); > - hv_vcpu_flush(vcpu); > } > > static inline void macvm_set_cr4(hv_vcpuid_t vcpu, uint64_t cr4) > @@ -171,7 +170,6 @@ static inline void macvm_set_cr4(hv_vcpuid_t vcpu, uint64_t cr4) > wvmcs(vcpu, VMCS_CR4_MASK, CR4_VMXE); > > hv_vcpu_invalidate_tlb(vcpu); > - hv_vcpu_flush(vcpu); > } > > static inline void macvm_set_rip(CPUState *cpu, uint64_t rip) > diff --git a/target/i386/hvf/x86_task.c b/target/i386/hvf/x86_task.c > index 422156128b7..c8dc3d48fa8 100644 > --- a/target/i386/hvf/x86_task.c > +++ b/target/i386/hvf/x86_task.c > @@ -181,5 +181,4 @@ void vmx_handle_task_switch(CPUState *cpu, x68_segment_selector tss_sel, int rea > store_regs(cpu); > > hv_vcpu_invalidate_tlb(cpu->hvf->fd); > - hv_vcpu_flush(cpu->hvf->fd); > } > diff --git a/target/i386/hvf/x86hvf.c b/target/i386/hvf/x86hvf.c > index 907f09f1b43..bec9fc58146 100644 > --- a/target/i386/hvf/x86hvf.c > +++ b/target/i386/hvf/x86hvf.c > @@ -125,8 +125,6 @@ static void hvf_put_segments(CPUState *cpu_state) > > hvf_set_segment(cpu_state, &seg, &env->ldt, false); > vmx_write_segment_descriptor(cpu_state, &seg, R_LDTR); > - > - hv_vcpu_flush(cpu_state->hvf->fd); > } > > void hvf_put_msrs(CPUState *cpu_state) > -- > 2.33.1
diff --git a/target/i386/hvf/vmx.h b/target/i386/hvf/vmx.h index 6df87116f62..094fb9b9dc9 100644 --- a/target/i386/hvf/vmx.h +++ b/target/i386/hvf/vmx.h @@ -159,7 +159,6 @@ static inline void macvm_set_cr0(hv_vcpuid_t vcpu, uint64_t cr0) wvmcs(vcpu, VMCS_GUEST_CR0, cr0 | CR0_NE | CR0_ET); hv_vcpu_invalidate_tlb(vcpu); - hv_vcpu_flush(vcpu); } static inline void macvm_set_cr4(hv_vcpuid_t vcpu, uint64_t cr4) @@ -171,7 +170,6 @@ static inline void macvm_set_cr4(hv_vcpuid_t vcpu, uint64_t cr4) wvmcs(vcpu, VMCS_CR4_MASK, CR4_VMXE); hv_vcpu_invalidate_tlb(vcpu); - hv_vcpu_flush(vcpu); } static inline void macvm_set_rip(CPUState *cpu, uint64_t rip) diff --git a/target/i386/hvf/x86_task.c b/target/i386/hvf/x86_task.c index 422156128b7..c8dc3d48fa8 100644 --- a/target/i386/hvf/x86_task.c +++ b/target/i386/hvf/x86_task.c @@ -181,5 +181,4 @@ void vmx_handle_task_switch(CPUState *cpu, x68_segment_selector tss_sel, int rea store_regs(cpu); hv_vcpu_invalidate_tlb(cpu->hvf->fd); - hv_vcpu_flush(cpu->hvf->fd); } diff --git a/target/i386/hvf/x86hvf.c b/target/i386/hvf/x86hvf.c index 907f09f1b43..bec9fc58146 100644 --- a/target/i386/hvf/x86hvf.c +++ b/target/i386/hvf/x86hvf.c @@ -125,8 +125,6 @@ static void hvf_put_segments(CPUState *cpu_state) hvf_set_segment(cpu_state, &seg, &env->ldt, false); vmx_write_segment_descriptor(cpu_state, &seg, R_LDTR); - - hv_vcpu_flush(cpu_state->hvf->fd); } void hvf_put_msrs(CPUState *cpu_state)
When building on macOS 12, 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 Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> --- target/i386/hvf/vmx.h | 2 -- target/i386/hvf/x86_task.c | 1 - target/i386/hvf/x86hvf.c | 2 -- 3 files changed, 5 deletions(-)