On 04/05/21 11:26, Alexander Graf wrote:
On 04.05.21 10:21, Paolo Bonzini wrote:
On 04/05/21 10:15, Denis V. Lunev wrote:
As far as I understand only some testing within kernel now.
Though we have plans to expose it for QAPI as the series
in QEMU
[PATCH 1/2] qapi: fix error handling for x-vz-query-cpu-model-cpuid
[PATCH 2/2] qapi: blacklisted x-vz-query-cpu-model-cpuid in tests
is not coming in a good way.
The idea was to avoid manual code rework in QEMU and
expose collected model at least for debug.
KVM_GET_CPUID2 as a VM ioctl cannot expose the whole truth about CPUID
either, since it doesn't handle the TSX_CTRL_CPUID_CLEAR bit. Given
that QEMU doesn't need KVM_GET_CPUID2; it only needs to save whatever it
passed to KVM_SET_CPUID2.
What if we instead deflect CPUID into user space so it can emulate it in
whatever way it likes? Is the performance difference going to be
relevant? Are people still using cpuid as barrier these days?
There's enough weirdness in CPUID (e.g. the magic redirection of unknown
leaves to the highest Intel leaf) to make it relatively hard to
implement correctly. So I think it should remain in the kernel.
Paolo