67 lines
2.0 KiB
Diff
67 lines
2.0 KiB
Diff
|
|
From 3aa85bc2d9265305dde99cde12d716ffa9bcef4b Mon Sep 17 00:00:00 2001
|
||
|
|
From: Xin Li <xin3.li@intel.com>
|
||
|
|
Date: Wed, 8 Nov 2023 23:20:10 -0800
|
||
|
|
Subject: [PATCH] vmxcap: add support for VMX FRED controls
|
||
|
|
|
||
|
|
commit 2e641870170e28df28c5d9914e76ea7cab141516 upstream.
|
||
|
|
|
||
|
|
Report secondary vm-exit controls and the VMX controls used to
|
||
|
|
save/load FRED MSRs.
|
||
|
|
|
||
|
|
Intel-SIG: commit 2e641870170e vmxcap: add support for VMX FRED controls
|
||
|
|
|
||
|
|
Tested-by: Shan Kang <shan.kang@intel.com>
|
||
|
|
Signed-off-by: Xin Li <xin3.li@intel.com>
|
||
|
|
Message-ID: <20231109072012.8078-5-xin3.li@intel.com>
|
||
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||
|
|
Signed-off-by: Jason Zeng <jason.zeng@intel.com>
|
||
|
|
---
|
||
|
|
scripts/kvm/vmxcap | 12 ++++++++++++
|
||
|
|
1 file changed, 12 insertions(+)
|
||
|
|
|
||
|
|
diff --git a/scripts/kvm/vmxcap b/scripts/kvm/vmxcap
|
||
|
|
index 3fb4d5b342..44898d73c2 100755
|
||
|
|
--- a/scripts/kvm/vmxcap
|
||
|
|
+++ b/scripts/kvm/vmxcap
|
||
|
|
@@ -24,6 +24,7 @@ MSR_IA32_VMX_TRUE_EXIT_CTLS = 0x48F
|
||
|
|
MSR_IA32_VMX_TRUE_ENTRY_CTLS = 0x490
|
||
|
|
MSR_IA32_VMX_VMFUNC = 0x491
|
||
|
|
MSR_IA32_VMX_PROCBASED_CTLS3 = 0x492
|
||
|
|
+MSR_IA32_VMX_EXIT_CTLS2 = 0x493
|
||
|
|
|
||
|
|
class msr(object):
|
||
|
|
def __init__(self):
|
||
|
|
@@ -219,11 +220,21 @@ controls = [
|
||
|
|
23: 'Clear IA32_BNDCFGS',
|
||
|
|
24: 'Conceal VM exits from PT',
|
||
|
|
25: 'Clear IA32_RTIT_CTL',
|
||
|
|
+ 31: 'Activate secondary VM-exit controls',
|
||
|
|
},
|
||
|
|
cap_msr = MSR_IA32_VMX_EXIT_CTLS,
|
||
|
|
true_cap_msr = MSR_IA32_VMX_TRUE_EXIT_CTLS,
|
||
|
|
),
|
||
|
|
|
||
|
|
+ Allowed1Control(
|
||
|
|
+ name = 'secondary VM-Exit controls',
|
||
|
|
+ bits = {
|
||
|
|
+ 0: 'Save IA32 FRED MSRs',
|
||
|
|
+ 1: 'Load IA32 FRED MSRs',
|
||
|
|
+ },
|
||
|
|
+ cap_msr = MSR_IA32_VMX_EXIT_CTLS2,
|
||
|
|
+ ),
|
||
|
|
+
|
||
|
|
Control(
|
||
|
|
name = 'VM-Entry controls',
|
||
|
|
bits = {
|
||
|
|
@@ -237,6 +248,7 @@ controls = [
|
||
|
|
16: 'Load IA32_BNDCFGS',
|
||
|
|
17: 'Conceal VM entries from PT',
|
||
|
|
18: 'Load IA32_RTIT_CTL',
|
||
|
|
+ 23: 'Load IA32 FRED MSRs',
|
||
|
|
},
|
||
|
|
cap_msr = MSR_IA32_VMX_ENTRY_CTLS,
|
||
|
|
true_cap_msr = MSR_IA32_VMX_TRUE_ENTRY_CTLS,
|
||
|
|
--
|
||
|
|
2.41.0.windows.1
|
||
|
|
|