Changeset 45915 in vbox
- Timestamp:
- May 6, 2013 3:12:47 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r45912 r45915 2143 2143 2144 2144 /* Write these host selector fields into the host-state area in the VMCS. */ 2145 rc = VMXWriteVmcs32(VMX_VMCS16_HOST_FIELD_CS, uSelCS); 2146 AssertRCReturn(rc, rc); 2147 rc = VMXWriteVmcs32(VMX_VMCS16_HOST_FIELD_SS, uSelSS); 2148 AssertRCReturn(rc, rc); 2145 rc = VMXWriteVmcs32(VMX_VMCS16_HOST_FIELD_CS, uSelCS); AssertRCReturn(rc, rc); 2146 rc = VMXWriteVmcs32(VMX_VMCS16_HOST_FIELD_SS, uSelSS); AssertRCReturn(rc, rc); 2149 2147 /* Avoid the VMWRITEs as we set the following segments to 0 and the VMCS fields are already 0 (since g_HvmR0 is static) */ 2150 2148 #if 0 2151 rc = VMXWriteVmcs32(VMX_VMCS16_HOST_FIELD_DS, uSelDS); 2152 AssertRCReturn(rc, rc); 2153 rc = VMXWriteVmcs32(VMX_VMCS16_HOST_FIELD_ES, uSelES); 2154 AssertRCReturn(rc, rc); 2155 rc = VMXWriteVmcs32(VMX_VMCS16_HOST_FIELD_FS, uSelFS); 2156 AssertRCReturn(rc, rc); 2157 rc = VMXWriteVmcs32(VMX_VMCS16_HOST_FIELD_GS, uSelGS); 2158 AssertRCReturn(rc, rc); 2149 rc = VMXWriteVmcs32(VMX_VMCS16_HOST_FIELD_DS, uSelDS); AssertRCReturn(rc, rc); 2150 rc = VMXWriteVmcs32(VMX_VMCS16_HOST_FIELD_ES, uSelES); AssertRCReturn(rc, rc); 2151 rc = VMXWriteVmcs32(VMX_VMCS16_HOST_FIELD_FS, uSelFS); AssertRCReturn(rc, rc); 2152 rc = VMXWriteVmcs32(VMX_VMCS16_HOST_FIELD_GS, uSelGS); AssertRCReturn(rc, rc); 2159 2153 #endif 2160 rc = VMXWriteVmcs32(VMX_VMCS16_HOST_FIELD_TR, uSelTR); 2161 AssertRCReturn(rc, rc); 2154 rc = VMXWriteVmcs32(VMX_VMCS16_HOST_FIELD_TR, uSelTR); AssertRCReturn(rc, rc); 2162 2155 2163 2156 /* … … 2176 2169 X86XDTR64 Idtr64; 2177 2170 hmR0Get64bitGdtrAndIdtr(&Gdtr64, &Idtr64); 2178 2179 rc = VMXWriteVmcs64(VMX_VMCS_HOST_GDTR_BASE, Gdtr64.uAddr); 2180 AssertRCReturn(rc, rc); 2181 rc = VMXWriteVmcs64(VMX_VMCS_HOST_IDTR_BASE, Idtr64.uAddr); 2182 AssertRCReturn(rc, rc); 2171 rc = VMXWriteVmcs64(VMX_VMCS_HOST_GDTR_BASE, Gdtr64.uAddr); AssertRCReturn(rc, rc); 2172 rc = VMXWriteVmcs64(VMX_VMCS_HOST_IDTR_BASE, Idtr64.uAddr); AssertRCReturn(rc, rc); 2183 2173 2184 2174 Gdtr.cbGdt = Gdtr64.cb; … … 2191 2181 ASMGetGDTR(&Gdtr); 2192 2182 ASMGetIDTR(&Idtr); 2193 2194 rc = VMXWriteVmcsHstN(VMX_VMCS_HOST_GDTR_BASE, Gdtr.pGdt); 2195 AssertRCReturn(rc, rc); 2196 rc = VMXWriteVmcsHstN(VMX_VMCS_HOST_IDTR_BASE, Idtr.pIdt); 2197 AssertRCReturn(rc, rc); 2183 rc = VMXWriteVmcsHstN(VMX_VMCS_HOST_GDTR_BASE, Gdtr.pGdt); AssertRCReturn(rc, rc); 2184 rc = VMXWriteVmcsHstN(VMX_VMCS_HOST_IDTR_BASE, Idtr.pIdt); AssertRCReturn(rc, rc); 2198 2185 } 2199 2186
Note:
See TracChangeset
for help on using the changeset viewer.