Changeset 76743 in vbox
- Timestamp:
- Jan 9, 2019 4:28:43 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllCImplVmxInstr.cpp.h
r76741 r76743 367 367 /* 2 */ RT_UOFFSETOF(VMXVVMCS, u32GuestSsLimit), 368 368 /* 3 */ RT_UOFFSETOF(VMXVVMCS, u32GuestDsLimit), 369 /* 4 */ RT_UOFFSETOF(VMXVVMCS, u32GuestEsLimit), 370 /* 5 */ RT_UOFFSETOF(VMXVVMCS, u32GuestFsLimit), 371 /* 6 */ RT_UOFFSETOF(VMXVVMCS, u32GuestGsLimit), 372 /* 7 */ RT_UOFFSETOF(VMXVVMCS, u32GuestLdtrLimit), 373 /* 8 */ RT_UOFFSETOF(VMXVVMCS, u32GuestTrLimit), 374 /* 9 */ RT_UOFFSETOF(VMXVVMCS, u32GuestGdtrLimit), 375 /* 10 */ RT_UOFFSETOF(VMXVVMCS, u32GuestIdtrLimit), 376 /* 11 */ RT_UOFFSETOF(VMXVVMCS, u32GuestEsAttr), 377 /* 12 */ RT_UOFFSETOF(VMXVVMCS, u32GuestCsAttr), 378 /* 13 */ RT_UOFFSETOF(VMXVVMCS, u32GuestSsAttr), 379 /* 14 */ RT_UOFFSETOF(VMXVVMCS, u32GuestDsAttr), 380 /* 15 */ RT_UOFFSETOF(VMXVVMCS, u32GuestFsAttr), 381 /* 16 */ RT_UOFFSETOF(VMXVVMCS, u32GuestGsAttr), 382 /* 17 */ RT_UOFFSETOF(VMXVVMCS, u32GuestLdtrAttr), 383 /* 18 */ RT_UOFFSETOF(VMXVVMCS, u32GuestTrAttr), 384 /* 19 */ RT_UOFFSETOF(VMXVVMCS, u32GuestIntrState), 385 /* 20 */ RT_UOFFSETOF(VMXVVMCS, u32GuestActivityState), 386 /* 21 */ RT_UOFFSETOF(VMXVVMCS, u32GuestSmBase), 387 /* 22 */ RT_UOFFSETOF(VMXVVMCS, u32GuestSysenterCS), 388 /* 23 */ RT_UOFFSETOF(VMXVVMCS, u32PreemptTimer), 389 /* 24-25 */ UINT16_MAX, UINT16_MAX 369 /* 4 */ RT_UOFFSETOF(VMXVVMCS, u32GuestFsLimit), 370 /* 5 */ RT_UOFFSETOF(VMXVVMCS, u32GuestGsLimit), 371 /* 6 */ RT_UOFFSETOF(VMXVVMCS, u32GuestLdtrLimit), 372 /* 7 */ RT_UOFFSETOF(VMXVVMCS, u32GuestTrLimit), 373 /* 8 */ RT_UOFFSETOF(VMXVVMCS, u32GuestGdtrLimit), 374 /* 9 */ RT_UOFFSETOF(VMXVVMCS, u32GuestIdtrLimit), 375 /* 10 */ RT_UOFFSETOF(VMXVVMCS, u32GuestEsAttr), 376 /* 11 */ RT_UOFFSETOF(VMXVVMCS, u32GuestCsAttr), 377 /* 12 */ RT_UOFFSETOF(VMXVVMCS, u32GuestSsAttr), 378 /* 13 */ RT_UOFFSETOF(VMXVVMCS, u32GuestDsAttr), 379 /* 14 */ RT_UOFFSETOF(VMXVVMCS, u32GuestFsAttr), 380 /* 15 */ RT_UOFFSETOF(VMXVVMCS, u32GuestGsAttr), 381 /* 16 */ RT_UOFFSETOF(VMXVVMCS, u32GuestLdtrAttr), 382 /* 17 */ RT_UOFFSETOF(VMXVVMCS, u32GuestTrAttr), 383 /* 18 */ RT_UOFFSETOF(VMXVVMCS, u32GuestIntrState), 384 /* 19 */ RT_UOFFSETOF(VMXVVMCS, u32GuestActivityState), 385 /* 20 */ RT_UOFFSETOF(VMXVVMCS, u32GuestSmBase), 386 /* 21 */ RT_UOFFSETOF(VMXVVMCS, u32GuestSysenterCS), 387 /* 22 */ RT_UOFFSETOF(VMXVVMCS, u32PreemptTimer), 388 /* 23-25 */ UINT16_MAX, UINT16_MAX, UINT16_MAX 390 389 }, 391 390 /* VMX_VMCS_ENC_WIDTH_32BIT | VMX_VMCS_ENC_TYPE_HOST_STATE: */ … … 2012 2011 RTGCPHYS const GCPhysAutoMsrArea = pVmcs->u64AddrExitMsrStore.u; 2013 2012 int rc = PGMPhysSimpleWriteGCPhys(pVCpu->CTX_SUFF(pVM), GCPhysAutoMsrArea, 2014 pVCpu->cpum.GstCtx.hwvirt.vmx.CTX_SUFF(pAutoMsrArea), VMX_V_AUTOMSR_AREA_SIZE);2013 pVCpu->cpum.GstCtx.hwvirt.vmx.CTX_SUFF(pAutoMsrArea), cMsrs * sizeof(VMXAUTOMSR)); 2015 2014 if (RT_SUCCESS(rc)) 2016 2015 { /* likely */ } … … 2341 2340 IEM_VMX_VMEXIT_FAILED_RET(pVCpu, uExitReason, pszFailure, kVmxVDiag_Vmexit_MsrLoadCount); 2342 2341 2342 Assert(pVCpu->cpum.GstCtx.hwvirt.vmx.CTX_SUFF(pAutoMsrArea)); 2343 2343 RTGCPHYS const GCPhysAutoMsrArea = pVmcs->u64AddrExitMsrLoad.u; 2344 int rc = PGMPhysSimpleReadGCPhys(pVCpu->CTX_SUFF(pVM), (void *) &pVCpu->cpum.GstCtx.hwvirt.vmx.CTX_SUFF(pAutoMsrArea),2345 GCPhysAutoMsrArea, VMX_V_AUTOMSR_AREA_SIZE);2344 int rc = PGMPhysSimpleReadGCPhys(pVCpu->CTX_SUFF(pVM), (void *)pVCpu->cpum.GstCtx.hwvirt.vmx.CTX_SUFF(pAutoMsrArea), 2345 GCPhysAutoMsrArea, cMsrs * sizeof(VMXAUTOMSR)); 2346 2346 if (RT_SUCCESS(rc)) 2347 2347 { … … 5422 5422 Ldtr.u32Limit = pVmcs->u32GuestLdtrLimit; 5423 5423 Ldtr.u64Base = pVmcs->u64GuestLdtrBase.u; 5424 Ldtr.Attr.u = pVmcs->u32GuestLdtr Limit;5424 Ldtr.Attr.u = pVmcs->u32GuestLdtrAttr; 5425 5425 5426 5426 if (!Ldtr.Attr.n.u1Unusable) … … 5479 5479 Tr.u32Limit = pVmcs->u32GuestTrLimit; 5480 5480 Tr.u64Base = pVmcs->u64GuestTrBase.u; 5481 Tr.Attr.u = pVmcs->u32GuestTr Limit;5481 Tr.Attr.u = pVmcs->u32GuestTrAttr; 5482 5482 5483 5483 /* Selector. */ … … 6823 6823 6824 6824 RTGCPHYS const GCPhysAutoMsrArea = pVmcs->u64AddrEntryMsrLoad.u; 6825 int rc = PGMPhysSimpleReadGCPhys(pVCpu->CTX_SUFF(pVM), (void *) &pVCpu->cpum.GstCtx.hwvirt.vmx.CTX_SUFF(pAutoMsrArea),6826 GCPhysAutoMsrArea, VMX_V_AUTOMSR_AREA_SIZE);6825 int rc = PGMPhysSimpleReadGCPhys(pVCpu->CTX_SUFF(pVM), (void *)pVCpu->cpum.GstCtx.hwvirt.vmx.CTX_SUFF(pAutoMsrArea), 6826 GCPhysAutoMsrArea, cMsrs * sizeof(VMXAUTOMSR)); 6827 6827 if (RT_SUCCESS(rc)) 6828 6828 { 6829 P VMXAUTOMSR pMsr = pVCpu->cpum.GstCtx.hwvirt.vmx.CTX_SUFF(pAutoMsrArea);6829 PCVMXAUTOMSR pMsr = pVCpu->cpum.GstCtx.hwvirt.vmx.CTX_SUFF(pAutoMsrArea); 6830 6830 Assert(pMsr); 6831 6831 for (uint32_t idxMsr = 0; idxMsr < cMsrs; idxMsr++, pMsr++)
Note:
See TracChangeset
for help on using the changeset viewer.