target/i386/hvf: add vmware-cpuid-freq cpu feature
commit3b502b0e470867369ba6e0a94e9ba6d91bb176c2
authorVladislav Yaroshchuk <yaroshchuk2000@gmail.com>
Fri, 22 Jan 2021 15:05:18 +0000 (22 18:05 +0300)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 16 Feb 2021 16:15:39 +0000 (16 17:15 +0100)
treeebbbf5a11e16808e9d45e26f9e944791a6ee8de3
parent118f2aadbc66aaae4e8d52259288e18f2aa4544a
target/i386/hvf: add vmware-cpuid-freq cpu feature

For `-accel hvf` cpu_x86_cpuid() is wrapped with hvf_cpu_x86_cpuid() to
add paravirtualization cpuid leaf 0x40000010
https://lkml.org/lkml/2008/10/1/246

Leaf 0x40000010, Timing Information:
EAX: (Virtual) TSC frequency in kHz.
EBX: (Virtual) Bus (local apic timer) frequency in kHz.
ECX, EDX: RESERVED (Per above, reserved fields are set to zero).

On macOS TSC and APIC Bus frequencies can be readed by sysctl call with
names `machdep.tsc.frequency` and `hw.busfrequency`

This options is required for Darwin-XNU guest to be synchronized with
host

Leaf 0x40000000 not exposes HVF leaving hypervisor signature empty

Signed-off-by: Vladislav Yaroshchuk <yaroshchuk2000@gmail.com>
Message-Id: <20210122150518.3551-1-yaroshchuk2000@gmail.com>
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
target/i386/hvf/hvf.c