Changeset 68403 in vbox
- Timestamp:
- Aug 14, 2017 9:40:36 AM (8 years ago)
- svn:sync-xref-src-repo-rev:
- 117541
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/cpum.mac
r67944 r68403 276 276 .hwvirt.svm.pvIoBitmapR0 RTR0PTR_RES 1 277 277 .hwvirt.svm.pvIoBitmapR3 RTR3PTR_RES 1 278 .hwvirt.svm.HCPhysVmcb RTHCPHYS_RES 1 278 279 %if HC_ARCH_BITS == 32 279 280 .hwvirt.svm.abPadding2 resb 16 -
trunk/include/VBox/vmm/cpumctx.h
r67944 r68403 509 509 /** 976 / 964 - IO permission bitmap - R3 ptr. */ 510 510 R3PTRTYPE(void *) pvIoBitmapR3; 511 /** 984 / 968 - Host physical address of the nested-guest VMCB. */ 512 RTHCPHYS HCPhysVmcb; 511 513 #if HC_ARCH_BITS == 32 512 /** NA / 9 68- Padding. */513 uint8_t abPadding2[ 16];514 /** NA / 972 - Padding. */ 515 uint8_t abPadding2[20]; 514 516 #endif 515 517 } svm; … … 521 523 } CPUM_UNION_NM(s); 522 524 523 /** 9 84- A subset of force flags that are preserved while running525 /** 992 - A subset of force flags that are preserved while running 524 526 * the nested-guest. */ 525 527 uint32_t fLocalForcedActions; 526 /** 1212- Padding. */527 uint8_t abPadding1[ 36];528 /** 996 - Padding. */ 529 uint8_t abPadding1[28]; 528 530 } hwvirt; 529 531 /** @} */ … … 594 596 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) svm.pvIoBitmapR0, HC_ARCH_BITS == 64 ? 968 : 960); 595 597 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) svm.pvIoBitmapR3, HC_ARCH_BITS == 64 ? 976 : 964); 596 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) fLocalForcedActions, 984); 598 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) svm.HCPhysVmcb, HC_ARCH_BITS == 64 ? 984 : 968); 599 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) fLocalForcedActions, 992); 597 600 AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) svm.pVmcbR0, 8); 598 601 AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) svm.pvMsrBitmapR0, 8); -
trunk/src/VBox/VMM/VMMR3/CPUM.cpp
r68341 r68403 767 767 pVCpu->cpum.s.Guest.hwvirt.svm.pVmcbR3 = NULL; 768 768 } 769 pVCpu->cpum.s.Guest.hwvirt.svm.HCPhysVmcb = NIL_RTHCPHYS; 769 770 770 771 if (pVCpu->cpum.s.Guest.hwvirt.svm.pvMsrBitmapR3) … … 803 804 * Allocate the nested-guest VMCB. 804 805 */ 806 SUPPAGE SupNstGstVmcbPage; 807 RT_ZERO(SupNstGstVmcbPage); 808 SupNstGstVmcbPage.Phys = NIL_RTHCPHYS; 809 Assert(SVM_VMCB_PAGES == 1); 805 810 Assert(!pVCpu->cpum.s.Guest.hwvirt.svm.pVmcbR3); 806 811 rc = SUPR3PageAllocEx(SVM_VMCB_PAGES, 0 /* fFlags */, (void **)&pVCpu->cpum.s.Guest.hwvirt.svm.pVmcbR3, 807 &pVCpu->cpum.s.Guest.hwvirt.svm.pVmcbR0, NULL /* paPages */);812 &pVCpu->cpum.s.Guest.hwvirt.svm.pVmcbR0, &SupNstGstVmcbPage); 808 813 if (RT_FAILURE(rc)) 809 814 { … … 812 817 break; 813 818 } 819 pVCpu->cpum.s.Guest.hwvirt.svm.HCPhysVmcb = SupNstGstVmcbPage.Phys; 814 820 815 821 /* -
trunk/src/VBox/VMM/include/CPUMInternal.mac
r67944 r68403 249 249 .Guest.hwvirt.svm.pvIoBitmapR0 RTR0PTR_RES 1 250 250 .Guest.hwvirt.svm.pvIoBitmapR3 RTR3PTR_RES 1 251 .Guest.hwvirt.svm.HCPhysVmcb RTHCPHYS_RES 1 251 252 %if HC_ARCH_BITS == 32 252 253 .Guest.hwvirt.svm.abPadding2 resb 16 … … 534 535 .Hyper.hwvirt.svm.pvIoBitmapR0 RTR0PTR_RES 1 535 536 .Hyper.hwvirt.svm.pvIoBitmapR3 RTR3PTR_RES 1 537 .Hyper.hwvirt.svm.HCPhysVmcb RTHCPHYS_RES 1 536 538 %if HC_ARCH_BITS == 32 537 539 .Hyper.hwvirt.svm.abPadding2 resb 16 -
trunk/src/VBox/VMM/testcase/tstVMStruct.h
r67924 r68403 145 145 GEN_CHECK_OFF(CPUMCTX, hwvirt.svm.pvIoBitmapR0); 146 146 GEN_CHECK_OFF(CPUMCTX, hwvirt.svm.pvIoBitmapR3); 147 GEN_CHECK_OFF(CPUMCTX, hwvirt.svm.HCPhysVmcb); 147 148 GEN_CHECK_OFF(CPUMCTX, hwvirt.fLocalForcedActions); 148 149 /** @todo add rest of hwvirt fields when code is more
Note:
See TracChangeset
for help on using the changeset viewer.