aboutsummaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
authorZhao Liu <zhao1.liu@intel.com>2024-07-30 12:55:44 +0800
committerPaolo Bonzini <pbonzini@redhat.com>2024-07-31 13:13:31 +0200
commitada1f3cab32a4eded6a453c2e22fc897009da555 (patch)
tree889f09ea17d0385b493249a357bf69f376a7475d /target
parent3722a98948d4fedec7a8c4575f520b346b6bc923 (diff)
target/i386/cpu: Mask off SGX/SGX_LC feature words for non-PC machine
Only PC machine supports SGX, so mask off SGX related feature words for non-PC machine (microvm). Signed-off-by: Zhao Liu <zhao1.liu@intel.com> Link: https://lore.kernel.org/r/20240730045544.2516284-5-zhao1.liu@intel.com Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'target')
-rw-r--r--target/i386/cpu.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 28b46ef536..85ef7452c0 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -6103,6 +6103,21 @@ uint64_t x86_cpu_get_supported_feature_word(X86CPU *cpu, FeatureWord w)
}
break;
+ case FEAT_7_0_EBX:
+#ifndef CONFIG_USER_ONLY
+ if (!check_sgx_support()) {
+ unavail = CPUID_7_0_EBX_SGX;
+ }
+#endif
+ break;
+ case FEAT_7_0_ECX:
+#ifndef CONFIG_USER_ONLY
+ if (!check_sgx_support()) {
+ unavail = CPUID_7_0_ECX_SGX_LC;
+ }
+#endif
+ break;
+
default:
break;
}