Changeset 76148 in vbox for trunk/include/VBox/vmm
- Timestamp:
- Dec 11, 2018 7:02:18 AM (6 years ago)
- Location:
- trunk/include/VBox/vmm
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/cpum.mac
r74798 r76148 280 280 alignb 8 281 281 .hwvirt.svm.HCPhysVmcb RTHCPHYS_RES 1 282 .hwvirt.svm.u64Padding0 resb 120 282 283 .hwvirt.enmHwvirt resd 1 283 284 .hwvirt.fGif resb 1 -
trunk/include/VBox/vmm/cpumctx.h
r75671 r76148 551 551 /** 0x3e8 - Host physical address of the nested-guest VMCB. */ 552 552 RTHCPHYS HCPhysVmcb; 553 /** 0x3f0 - Padding. */ 554 uint64_t u64Padding0[15]; 553 555 } svm; 554 556 … … 666 668 uint16_t offVirtApicWrite; 667 669 /** 0x3a2 - Padding. */ 668 uint8_t abPadding[0x3f0 - 0x3a2]; 670 uint8_t abPadding0[6]; 671 /** 0x3a8 - VMX MSRs. */ 672 uint64_t uMsrFeatCtrl; 673 uint64_t uMsrBasic; 674 uint64_t uMsrPinCtls; 675 uint64_t uMsrProcCtls; 676 uint64_t uMsrProcCtls2; 677 uint64_t uMsrExitCtls; 678 uint64_t uMsrEntryCtls; 679 uint64_t uMsrTruePinCtls; 680 uint64_t uMsrTrueProcCtls; 681 uint64_t uMsrTrueEntryCtls; 682 uint64_t uMsrTrueExitCtls; 683 uint64_t uMsrMisc; 684 uint64_t uMsrCr0Fixed0; 685 uint64_t uMsrCr0Fixed1; 686 uint64_t uMsrCr4Fixed0; 687 uint64_t uMsrCr4Fixed1; 688 uint64_t uMsrVmcsEnum; 689 uint64_t uMsrVmFunc; 690 uint64_t uMsrEptVpidCaps; 691 /** 0x440 - MSRs reserved for future expansion. */ 692 uint64_t uMsrRsvd[5]; 669 693 } vmx; 670 694 } CPUM_UNION_NM(s); 671 695 672 /** 0x 3f0- Hardware virtualization type currently in use. */696 /** 0x468 - Hardware virtualization type currently in use. */ 673 697 CPUMHWVIRT enmHwvirt; 674 /** 0x 3f4- Global interrupt flag - AMD only (always true on Intel). */698 /** 0x46c - Global interrupt flag - AMD only (always true on Intel). */ 675 699 bool fGif; 676 700 bool afPadding1[3]; 677 /** 0x 3f8- A subset of guest force flags that are saved while running the701 /** 0x470 - A subset of guest force flags that are saved while running the 678 702 * nested-guest. */ 679 703 #ifdef VMCPU_WITH_64_BIT_FFS … … 683 707 uint32_t fPadding; 684 708 #endif 709 /* Pad to 64-byte boundary. */ 710 uint64_t u64Align64; 685 711 } hwvirt; 686 712 /** @} */ … … 779 805 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uVmentryTick, 0x398); 780 806 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.offVirtApicWrite, 0x3a0); 807 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrFeatCtrl, 0x3a8); 808 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrBasic, 0x3b0); 809 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrPinCtls, 0x3b8); 810 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrProcCtls, 0x3c0); 811 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrProcCtls2, 0x3c8); 812 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrExitCtls, 0x3d0); 813 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrEntryCtls, 0x3d8); 814 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrTruePinCtls, 0x3e0); 815 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrTrueProcCtls, 0x3e8); 816 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrTrueEntryCtls, 0x3f0); 817 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrTrueExitCtls, 0x3f8); 818 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrMisc, 0x400); 819 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrCr0Fixed0, 0x408); 820 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrCr0Fixed1, 0x410); 821 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrCr4Fixed0, 0x418); 822 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrCr4Fixed1, 0x420); 823 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrVmcsEnum, 0x428); 824 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrVmFunc, 0x430); 825 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrEptVpidCaps, 0x438); 781 826 AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pVmcsR0, 8); 782 827 AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pShadowVmcsR0, 8); … … 787 832 AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvMsrBitmapR0, 8); 788 833 AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvIoBitmapR0, 8); 789 AssertCompileMemberOffset(CPUMCTX, hwvirt.enmHwvirt, 0x3f0); 790 AssertCompileMemberOffset(CPUMCTX, hwvirt.fGif, 0x3f4); 791 AssertCompileMemberOffset(CPUMCTX, hwvirt.fLocalForcedActions, 0x3f8); 834 AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrFeatCtrl, 8); 835 AssertCompileMemberOffset(CPUMCTX, hwvirt.enmHwvirt, 0x468); 836 AssertCompileMemberOffset(CPUMCTX, hwvirt.fGif, 0x46c); 837 AssertCompileMemberOffset(CPUMCTX, hwvirt.fLocalForcedActions, 0x470); 792 838 AssertCompileMembersAtSameOffset(CPUMCTX, CPUM_UNION_STRUCT_NM(g,qw.) rax, CPUMCTX, CPUM_UNION_NM(g.) aGRegs); 793 839 AssertCompileMembersAtSameOffset(CPUMCTX, CPUM_UNION_STRUCT_NM(g,qw.) rax, CPUMCTX, CPUM_UNION_STRUCT_NM(g,qw2.) r0);
Note:
See TracChangeset
for help on using the changeset viewer.