Always allow access to the sysenter cs/esp/eip MSRs since they
are automatically saved and restored in the VMCS. Reviewed by: neel Obtained from: NetApp
This commit is contained in:
parent
b218348bc3
commit
1fb0ea3f1a
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=245917
@ -696,6 +696,10 @@ vmx_vminit(struct vm *vm)
|
||||
* vm-exit and vm-entry respectively. The host FSBASE and GSBASE are
|
||||
* always restored from the vmcs host state area on vm-exit.
|
||||
*
|
||||
* The SYSENTER_CS/ESP/EIP MSRs are identical to FS/GSBASE in
|
||||
* how they are saved/restored so can be directly accessed by the
|
||||
* guest.
|
||||
*
|
||||
* Guest KGSBASE is saved and restored in the guest MSR save area.
|
||||
* Host KGSBASE is restored before returning to userland from the pcb.
|
||||
* There will be a window of time when we are executing in the host
|
||||
@ -708,6 +712,9 @@ vmx_vminit(struct vm *vm)
|
||||
*/
|
||||
if (guest_msr_rw(vmx, MSR_GSBASE) ||
|
||||
guest_msr_rw(vmx, MSR_FSBASE) ||
|
||||
guest_msr_rw(vmx, MSR_SYSENTER_CS_MSR) ||
|
||||
guest_msr_rw(vmx, MSR_SYSENTER_ESP_MSR) ||
|
||||
guest_msr_rw(vmx, MSR_SYSENTER_EIP_MSR) ||
|
||||
guest_msr_rw(vmx, MSR_KGSBASE) ||
|
||||
guest_msr_rw(vmx, MSR_EFER))
|
||||
panic("vmx_vminit: error setting guest msr access");
|
||||
|
Loading…
Reference in New Issue
Block a user