63 lines
2.3 KiB
Diff
63 lines
2.3 KiB
Diff
|
|
From 5f828613ba69ce640512a900f630515d980208dd Mon Sep 17 00:00:00 2001
|
||
|
|
From: Xin Li <xin3.li@intel.com>
|
||
|
|
Date: Wed, 8 Nov 2023 23:20:11 -0800
|
||
|
|
Subject: [PATCH] target/i386: enumerate VMX nested-exception support
|
||
|
|
|
||
|
|
commit ef202d64c3020f3df03c39d3ad688732d81aaae8 upstream.
|
||
|
|
|
||
|
|
Allow VMX nested-exception support to be exposed in KVM guests, thus
|
||
|
|
nested KVM guests can enumerate it.
|
||
|
|
|
||
|
|
Intel-SIG: commit ef202d64c302 target/i386: enumerate VMX nested-exception support
|
||
|
|
|
||
|
|
Tested-by: Shan Kang <shan.kang@intel.com>
|
||
|
|
Signed-off-by: Xin Li <xin3.li@intel.com>
|
||
|
|
Message-ID: <20231109072012.8078-6-xin3.li@intel.com>
|
||
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||
|
|
Signed-off-by: Jason Zeng <jason.zeng@intel.com>
|
||
|
|
---
|
||
|
|
scripts/kvm/vmxcap | 1 +
|
||
|
|
target/i386/cpu.c | 1 +
|
||
|
|
target/i386/cpu.h | 1 +
|
||
|
|
3 files changed, 3 insertions(+)
|
||
|
|
|
||
|
|
diff --git a/scripts/kvm/vmxcap b/scripts/kvm/vmxcap
|
||
|
|
index 44898d73c2..508be19c75 100755
|
||
|
|
--- a/scripts/kvm/vmxcap
|
||
|
|
+++ b/scripts/kvm/vmxcap
|
||
|
|
@@ -117,6 +117,7 @@ controls = [
|
||
|
|
54: 'INS/OUTS instruction information',
|
||
|
|
55: 'IA32_VMX_TRUE_*_CTLS support',
|
||
|
|
56: 'Skip checks on event error code',
|
||
|
|
+ 58: 'VMX nested exception support',
|
||
|
|
},
|
||
|
|
msr = MSR_IA32_VMX_BASIC,
|
||
|
|
),
|
||
|
|
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
|
||
|
|
index 47f00392be..00e636e61c 100644
|
||
|
|
--- a/target/i386/cpu.c
|
||
|
|
+++ b/target/i386/cpu.c
|
||
|
|
@@ -1344,6 +1344,7 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] = {
|
||
|
|
[54] = "vmx-ins-outs",
|
||
|
|
[55] = "vmx-true-ctls",
|
||
|
|
[56] = "vmx-any-errcode",
|
||
|
|
+ [58] = "vmx-nested-exception",
|
||
|
|
},
|
||
|
|
.msr = {
|
||
|
|
.index = MSR_IA32_VMX_BASIC,
|
||
|
|
diff --git a/target/i386/cpu.h b/target/i386/cpu.h
|
||
|
|
index 418daeab04..b03237c305 100644
|
||
|
|
--- a/target/i386/cpu.h
|
||
|
|
+++ b/target/i386/cpu.h
|
||
|
|
@@ -1065,6 +1065,7 @@ uint64_t x86_cpu_get_supported_feature_word(FeatureWord w,
|
||
|
|
#define MSR_VMX_BASIC_INS_OUTS (1ULL << 54)
|
||
|
|
#define MSR_VMX_BASIC_TRUE_CTLS (1ULL << 55)
|
||
|
|
#define MSR_VMX_BASIC_ANY_ERRCODE (1ULL << 56)
|
||
|
|
+#define MSR_VMX_BASIC_NESTED_EXCEPTION (1ULL << 58)
|
||
|
|
|
||
|
|
#define MSR_VMX_MISC_PREEMPTION_TIMER_SHIFT_MASK 0x1Full
|
||
|
|
#define MSR_VMX_MISC_STORE_LMA (1ULL << 5)
|
||
|
|
--
|
||
|
|
2.41.0.windows.1
|
||
|
|
|