svn commit: r271890 - head/sys/amd64/vmm/intel
Neel Natu
neel at FreeBSD.org
Sat Sep 20 05:12:35 UTC 2014
Author: neel
Date: Sat Sep 20 05:12:34 2014
New Revision: 271890
URL: http://svnweb.freebsd.org/changeset/base/271890
Log:
MSR_KGSBASE is no longer saved and restored from the guest MSR save area. This
behavior was changed in r271888 so update the comment block to reflect this.
MSR_KGSBASE is accessible from the guest without triggering a VM-exit. The
permission bitmap for MSR_KGSBASE is modified by vmx_msr_guest_init() so get
rid of redundant code in vmx_vminit().
Modified:
head/sys/amd64/vmm/intel/vmx.c
Modified: head/sys/amd64/vmm/intel/vmx.c
==============================================================================
--- head/sys/amd64/vmm/intel/vmx.c Sat Sep 20 04:31:12 2014 (r271889)
+++ head/sys/amd64/vmm/intel/vmx.c Sat Sep 20 05:12:34 2014 (r271890)
@@ -885,12 +885,6 @@ vmx_vminit(struct vm *vm, pmap_t pmap)
* 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
- * kernel context with a value of KGSBASE from the guest. This is ok
- * because the value of KGSBASE is inconsequential in kernel context.
- *
* MSR_EFER is saved and restored in the guest VMCS area on a
* VM exit and entry respectively. It is also restored from the
* host VMCS area on a VM exit.
@@ -905,7 +899,6 @@ vmx_vminit(struct vm *vm, pmap_t pmap)
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) ||
guest_msr_ro(vmx, MSR_TSC))
panic("vmx_vminit: error setting guest msr access");
More information about the svn-src-all
mailing list