Changeset 4079 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Aug 7, 2007 5:23:40 PM (17 years ago)
- Location:
- trunk/src/VBox/VMM/VMMR0
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HWACCMR0.cpp
r4071 r4079 127 127 */ 128 128 ASMSetCR4(pVM->hwaccm.s.vmx.hostCR4 | X86_CR4_VMXE); 129 } 130 131 if ( pVM->hwaccm.s.vmx.pVMXONPhys 132 && pVM->hwaccm.s.vmx.pVMXON) 133 { 134 /* Set revision dword at the beginning of the structure. */ 135 *(uint32_t *)pVM->hwaccm.s.vmx.pVMXON = MSR_IA32_VMX_BASIC_INFO_VMCS_ID(pVM->hwaccm.s.vmx.msr.vmx_basic_info); 136 137 /* Enter VMX Root Mode */ 138 int rc = VMXEnable(pVM->hwaccm.s.vmx.pVMXONPhys); 139 if (VBOX_FAILURE(rc)) 140 { 141 /* KVM leaves the CPU in VMX operation. Not only is this not allowed, it will crash the host when we enter raw mode, because 142 * (a) clearing X86_CR4_VMXE in CR4 causes a #GP 143 * (b) turning off paging causes a #GP 144 * 145 * They should fix their code, but until they do we simply refuse to run. 146 */ 147 return VERR_VMX_IN_VMX_ROOT_MODE; 148 } 149 VMXDisable(); 129 150 } 130 151 } -
trunk/src/VBox/VMM/VMMR0/VMMR0.cpp
r4071 r4079 174 174 * Init VMXM. 175 175 */ 176 HWACCMR0Init(pVM); 176 int rc = HWACCMR0Init(pVM); 177 if (VBOX_FAILURE(rc)) 178 return rc; 177 179 178 180 /* 179 181 * Init CPUM. 180 182 */ 181 intrc = CPUMR0Init(pVM);183 rc = CPUMR0Init(pVM); 182 184 183 185 if (RT_FAILURE(rc))
Note:
See TracChangeset
for help on using the changeset viewer.