summaryrefslogtreecommitdiff
path: root/arch/x86
diff options
context:
space:
mode:
authorLike Xu <like.xu.linux@gmail.com>2021-06-28 10:43:54 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-07-28 15:37:24 +0300
commit319b79706f63dcee469dc4cc01c52a533b62622d (patch)
tree81042ce90e6daa273983d7d45d7d067d2ff410f5 /arch/x86
parent916450b2101ba9a1245efd8b1f9139d24dcb8ab1 (diff)
downloadlinux-319b79706f63dcee469dc4cc01c52a533b62622d.tar.xz
KVM: x86/pmu: Clear anythread deprecated bit when 0xa leaf is unsupported on the SVM
[ Upstream commit 7234c362ccb3c2228f06f19f93b132de9cfa7ae4 ] The AMD platform does not support the functions Ah CPUID leaf. The returned results for this entry should all remain zero just like the native does: AMD host: 0x0000000a 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 (uncanny) AMD guest: 0x0000000a 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00008000 Fixes: cadbaa039b99 ("perf/x86/intel: Make anythread filter support conditional") Signed-off-by: Like Xu <likexu@tencent.com> Message-Id: <20210628074354.33848-1-likexu@tencent.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/kvm/cpuid.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
index ca7866d63e98..739be5da3bca 100644
--- a/arch/x86/kvm/cpuid.c
+++ b/arch/x86/kvm/cpuid.c
@@ -765,7 +765,8 @@ static inline int __do_cpuid_func(struct kvm_cpuid_array *array, u32 function)
edx.split.num_counters_fixed = min(cap.num_counters_fixed, MAX_FIXED_COUNTERS);
edx.split.bit_width_fixed = cap.bit_width_fixed;
- edx.split.anythread_deprecated = 1;
+ if (cap.version)
+ edx.split.anythread_deprecated = 1;
edx.split.reserved1 = 0;
edx.split.reserved2 = 0;