51 lines
1.6 KiB
Diff
51 lines
1.6 KiB
Diff
|
|
From bf3d3ecf9ff5808d1f03e83a363c8295f7abad76 Mon Sep 17 00:00:00 2001
|
||
|
|
From: Xiaoyao Li <xiaoyao.li@intel.com>
|
||
|
|
Date: Wed, 24 Jan 2024 21:40:16 -0500
|
||
|
|
Subject: [PATCH] i386/cpuid: Move leaf 7 to correct group
|
||
|
|
|
||
|
|
commit 0729857c707535847d7fe31d3d91eb8b2a118e3c upstream.
|
||
|
|
|
||
|
|
CPUID leaf 7 was grouped together with SGX leaf 0x12 by commit
|
||
|
|
b9edbadefb9e ("i386: Propagate SGX CPUID sub-leafs to KVM") by mistake.
|
||
|
|
|
||
|
|
SGX leaf 0x12 has its specific logic to check if subleaf (starting from 2)
|
||
|
|
is valid or not by checking the bit 0:3 of corresponding EAX is 1 or
|
||
|
|
not.
|
||
|
|
|
||
|
|
Leaf 7 follows the logic that EAX of subleaf 0 enumerates the maximum
|
||
|
|
valid subleaf.
|
||
|
|
|
||
|
|
Fixes: b9edbadefb9e ("i386: Propagate SGX CPUID sub-leafs to KVM")
|
||
|
|
Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
|
||
|
|
Message-ID: <20240125024016.2521244-4-xiaoyao.li@intel.com>
|
||
|
|
Cc: qemu-stable@nongnu.org
|
||
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||
|
|
Signed-off-by: Jason Zeng <jason.zeng@intel.com>
|
||
|
|
---
|
||
|
|
target/i386/kvm/kvm.c | 2 +-
|
||
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
|
||
|
|
diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c
|
||
|
|
index e68eb8f5e6..a0bc9ea7b1 100644
|
||
|
|
--- a/target/i386/kvm/kvm.c
|
||
|
|
+++ b/target/i386/kvm/kvm.c
|
||
|
|
@@ -1955,7 +1955,6 @@ int kvm_arch_init_vcpu(CPUState *cs)
|
||
|
|
c = &cpuid_data.entries[cpuid_i++];
|
||
|
|
}
|
||
|
|
break;
|
||
|
|
- case 0x7:
|
||
|
|
case 0x12:
|
||
|
|
for (j = 0; ; j++) {
|
||
|
|
c->function = i;
|
||
|
|
@@ -1975,6 +1974,7 @@ int kvm_arch_init_vcpu(CPUState *cs)
|
||
|
|
c = &cpuid_data.entries[cpuid_i++];
|
||
|
|
}
|
||
|
|
break;
|
||
|
|
+ case 0x7:
|
||
|
|
case 0x14:
|
||
|
|
case 0x1d:
|
||
|
|
case 0x1e: {
|
||
|
|
--
|
||
|
|
2.27.0
|
||
|
|
|