target/i386: Expose VMX entry/exit load pkrs control bits
Expose the VMX exit/entry load pkrs control bits in VMX_TRUE_EXIT_CTLS/VMX_TRUE_ENTRY_CTLS MSRs to guest, which supports the PKS in nested VM. Signed-off-by: Chenyi Qiang <chenyi.qiang@intel.com> Message-Id: <20210205083325.13880-3-chenyi.qiang@intel.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
6aa4228bd6
commit
52a44ad2b9
@ -1215,7 +1215,7 @@ static FeatureWordInfo feature_word_info[FEATURE_WORDS] = {
|
|||||||
"vmx-exit-save-efer", "vmx-exit-load-efer",
|
"vmx-exit-save-efer", "vmx-exit-load-efer",
|
||||||
"vmx-exit-save-preemption-timer", "vmx-exit-clear-bndcfgs",
|
"vmx-exit-save-preemption-timer", "vmx-exit-clear-bndcfgs",
|
||||||
NULL, "vmx-exit-clear-rtit-ctl", NULL, NULL,
|
NULL, "vmx-exit-clear-rtit-ctl", NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL,
|
NULL, "vmx-exit-load-pkrs", NULL, NULL,
|
||||||
},
|
},
|
||||||
.msr = {
|
.msr = {
|
||||||
.index = MSR_IA32_VMX_TRUE_EXIT_CTLS,
|
.index = MSR_IA32_VMX_TRUE_EXIT_CTLS,
|
||||||
@ -1230,7 +1230,7 @@ static FeatureWordInfo feature_word_info[FEATURE_WORDS] = {
|
|||||||
NULL, "vmx-entry-ia32e-mode", NULL, NULL,
|
NULL, "vmx-entry-ia32e-mode", NULL, NULL,
|
||||||
NULL, "vmx-entry-load-perf-global-ctrl", "vmx-entry-load-pat", "vmx-entry-load-efer",
|
NULL, "vmx-entry-load-perf-global-ctrl", "vmx-entry-load-pat", "vmx-entry-load-efer",
|
||||||
"vmx-entry-load-bndcfgs", NULL, "vmx-entry-load-rtit-ctl", NULL,
|
"vmx-entry-load-bndcfgs", NULL, "vmx-entry-load-rtit-ctl", NULL,
|
||||||
NULL, NULL, NULL, NULL,
|
NULL, NULL, "vmx-entry-load-pkrs", NULL,
|
||||||
NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL,
|
||||||
},
|
},
|
||||||
|
@ -973,6 +973,7 @@ typedef uint64_t FeatureWordArray[FEATURE_WORDS];
|
|||||||
#define VMX_VM_EXIT_CLEAR_BNDCFGS 0x00800000
|
#define VMX_VM_EXIT_CLEAR_BNDCFGS 0x00800000
|
||||||
#define VMX_VM_EXIT_PT_CONCEAL_PIP 0x01000000
|
#define VMX_VM_EXIT_PT_CONCEAL_PIP 0x01000000
|
||||||
#define VMX_VM_EXIT_CLEAR_IA32_RTIT_CTL 0x02000000
|
#define VMX_VM_EXIT_CLEAR_IA32_RTIT_CTL 0x02000000
|
||||||
|
#define VMX_VM_EXIT_LOAD_IA32_PKRS 0x20000000
|
||||||
|
|
||||||
#define VMX_VM_ENTRY_LOAD_DEBUG_CONTROLS 0x00000004
|
#define VMX_VM_ENTRY_LOAD_DEBUG_CONTROLS 0x00000004
|
||||||
#define VMX_VM_ENTRY_IA32E_MODE 0x00000200
|
#define VMX_VM_ENTRY_IA32E_MODE 0x00000200
|
||||||
@ -984,6 +985,7 @@ typedef uint64_t FeatureWordArray[FEATURE_WORDS];
|
|||||||
#define VMX_VM_ENTRY_LOAD_BNDCFGS 0x00010000
|
#define VMX_VM_ENTRY_LOAD_BNDCFGS 0x00010000
|
||||||
#define VMX_VM_ENTRY_PT_CONCEAL_PIP 0x00020000
|
#define VMX_VM_ENTRY_PT_CONCEAL_PIP 0x00020000
|
||||||
#define VMX_VM_ENTRY_LOAD_IA32_RTIT_CTL 0x00040000
|
#define VMX_VM_ENTRY_LOAD_IA32_RTIT_CTL 0x00040000
|
||||||
|
#define VMX_VM_ENTRY_LOAD_IA32_PKRS 0x00400000
|
||||||
|
|
||||||
/* Supported Hyper-V Enlightenments */
|
/* Supported Hyper-V Enlightenments */
|
||||||
#define HYPERV_FEAT_RELAXED 0
|
#define HYPERV_FEAT_RELAXED 0
|
||||||
|
Loading…
Reference in New Issue
Block a user