Messages in this thread | | | Date | Mon, 24 Oct 2022 21:06:49 +0800 | Subject | Re: [PATCH] KVM: x86: Do not expose the host value of CPUID.8000001EH | From | Xiaoyao Li <> |
| |
On 10/22/2022 4:26 PM, Paolo Bonzini wrote: > Several fields of CPUID.8000001EH (ExtendedApicId in EAX[31:0], > CoreId in EBX[7:0], NodeId in ECX[7:0]) vary on each processor, > and it is simply impossible to fit the right values in the > KVM_GET_SUPPORTED_CPUID API, in such a way that they can be > passed to KVM_SET_CPUID2. > > The most likely way to avoid confusion in the guest is to zero > out all the values. Userspace will most likely override it > anyway if it want to present a specific topology to the guest. > > This patch essentially reverts commit 382409b4c43e ("kvm: x86: Include > CPUID leaf 0x8000001e in kvm's supported CPUID").
Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > --- > arch/x86/kvm/cpuid.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c > index a0292ba650df..380b71600a9e 100644 > --- a/arch/x86/kvm/cpuid.c > +++ b/arch/x86/kvm/cpuid.c > @@ -1193,6 +1193,9 @@ static inline int __do_cpuid_func(struct kvm_cpuid_array *array, u32 function) > entry->ebx = entry->ecx = entry->edx = 0; > break; > case 0x8000001e: > + /* Different on each processor, just hide it. */ > + entry->eax = entry->ebx = entry->ecx = 0; > + entry->edx = 0; > break; > case 0x8000001F: > if (!kvm_cpu_cap_has(X86_FEATURE_SEV)) {
| |