[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 35/42] target/i386: enumerate VMX nested-exception support
From: |
Paolo Bonzini |
Subject: |
[PULL 35/42] target/i386: enumerate VMX nested-exception support |
Date: |
Sat, 8 Jun 2024 10:34:08 +0200 |
From: Xin Li <xin3.li@intel.com>
Allow VMX nested-exception support to be exposed in KVM guests, thus
nested KVM guests can enumerate it.
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>
---
target/i386/cpu.h | 1 +
target/i386/cpu.c | 1 +
scripts/kvm/vmxcap | 1 +
3 files changed, 3 insertions(+)
diff --git a/target/i386/cpu.h b/target/i386/cpu.h
index 9a582218f43..8ff27e933de 100644
--- a/target/i386/cpu.h
+++ b/target/i386/cpu.h
@@ -1071,6 +1071,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)
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index bfb5a25e596..383230fa479 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -1492,6 +1492,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/scripts/kvm/vmxcap b/scripts/kvm/vmxcap
index 44898d73c2e..508be19c758 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,
),
--
2.45.1
- [PULL 25/42] i386/hvf: Adds support for INVTSC cpuid bit, (continued)
- [PULL 25/42] i386/hvf: Adds support for INVTSC cpuid bit, Paolo Bonzini, 2024/06/08
- [PULL 27/42] hvf: Consistent types for vCPU handles, Paolo Bonzini, 2024/06/08
- [PULL 26/42] i386/hvf: Fixes some compilation warnings, Paolo Bonzini, 2024/06/08
- [PULL 28/42] i386/hvf: Fixes dirty memory tracking by page granularity RX->RWX change, Paolo Bonzini, 2024/06/08
- [PULL 29/42] i386/hvf: In kick_vcpu use hv_vcpu_interrupt to force exit, Paolo Bonzini, 2024/06/08
- [PULL 31/42] hvf: Makes assert_hvf_ok report failed expression, Paolo Bonzini, 2024/06/08
- [PULL 30/42] i386/hvf: Updates API usage to use modern vCPU run function, Paolo Bonzini, 2024/06/08
- [PULL 33/42] target/i386: mark CR4.FRED not reserved, Paolo Bonzini, 2024/06/08
- [PULL 32/42] target/i386: add support for FRED in CPUID enumeration, Paolo Bonzini, 2024/06/08
- [PULL 34/42] vmxcap: add support for VMX FRED controls, Paolo Bonzini, 2024/06/08
- [PULL 35/42] target/i386: enumerate VMX nested-exception support,
Paolo Bonzini <=
- [PULL 36/42] target/i386: Add get/set/migrate support for FRED MSRs, Paolo Bonzini, 2024/06/08
- [PULL 37/42] docs: i386: pc: Avoid mentioning limit of maximum vCPUs, Paolo Bonzini, 2024/06/08
- [PULL 40/42] i386: Add support for overflow recovery, Paolo Bonzini, 2024/06/08
- [PULL 42/42] python: mkvenv: remove ensure command, Paolo Bonzini, 2024/06/08
- [PULL 38/42] i386: Fix MCE support for AMD hosts, Paolo Bonzini, 2024/06/08
- [PULL 39/42] i386: Add support for SUCCOR feature, Paolo Bonzini, 2024/06/08
- [PULL 41/42] Revert "python: use vendored tomli", Paolo Bonzini, 2024/06/08