Changeset 70260 in vbox for trunk/include/VBox/vmm
- Timestamp:
- Dec 21, 2017 7:57:01 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/hm_svm.h
r70259 r70260 445 445 /** @} */ 446 446 447 /** @name SVMVMCB.ctrl.u64NestedPaging448 * @{449 */450 #define SVM_NESTED_PAGING_ENABLE RT_BIT_64(0)451 /** @} */452 453 447 /** @name SVMVMCB.ctrl.u64IntShadow 454 448 * @{ … … 638 632 SVMIOIOTYPE_IN = SVM_IOIO_READ 639 633 } SVMIOIOTYPE; 640 641 /**642 * SVM nested paging structure.643 */644 typedef union645 {646 struct647 {648 uint32_t u1NestedPaging : 1; /**< enabled/disabled */649 } n;650 uint64_t u;651 } SVMNPCTRL;652 634 653 635 /** … … 728 710 SVMEVENT ExitIntInfo; 729 711 /** Offset 0x90 - Nested Paging. */ 730 SVMNPCTRL NestedPaging; 712 union 713 { 714 uint32_t u1NestedPaging : 1; 715 uint32_t u1EnableSev : 1; 716 uint32_t u1EnableSevEs : 1; 717 uint32_t u28Reserved0 : 28; 718 uint64_t u64NpSevCtrl; 719 } RT_UNION_NM(np); 731 720 /** Offset 0x98 - AVIC APIC BAR. */ 732 721 SVMAVIC AvicBar; … … 763 752 typedef const SVMVMCBCTRL *PCSVMVMCBCTRL; 764 753 AssertCompileSize(SVMVMCBCTRL, 0x100); 765 AssertCompileMemberOffset(SVMVMCBCTRL, u16InterceptRdCRx, 0x00);766 AssertCompileMemberOffset(SVMVMCBCTRL, u16InterceptWrCRx, 0x02);767 AssertCompileMemberOffset(SVMVMCBCTRL, u16InterceptRdDRx, 0x04);768 AssertCompileMemberOffset(SVMVMCBCTRL, u16InterceptWrDRx, 0x06);769 AssertCompileMemberOffset(SVMVMCBCTRL, u32InterceptXcpt, 0x08);770 AssertCompileMemberOffset(SVMVMCBCTRL, u64InterceptCtrl, 0x0c);771 AssertCompileMemberOffset(SVMVMCBCTRL, u8Reserved, 0x14);772 AssertCompileMemberOffset(SVMVMCBCTRL, u16PauseFilterThreshold, 0x3c);773 AssertCompileMemberOffset(SVMVMCBCTRL, u16PauseFilterCount, 0x3e);774 AssertCompileMemberOffset(SVMVMCBCTRL, u64IOPMPhysAddr, 0x40);775 AssertCompileMemberOffset(SVMVMCBCTRL, u64MSRPMPhysAddr, 0x48);776 AssertCompileMemberOffset(SVMVMCBCTRL, u64TSCOffset, 0x50);777 AssertCompileMemberOffset(SVMVMCBCTRL, TLBCtrl, 0x58);778 AssertCompileMemberOffset(SVMVMCBCTRL, IntCtrl, 0x60);779 AssertCompileMemberOffset(SVMVMCBCTRL, u64IntShadow, 0x68);780 AssertCompileMemberOffset(SVMVMCBCTRL, u64ExitCode, 0x70);781 AssertCompileMemberOffset(SVMVMCBCTRL, u64ExitInfo1, 0x78);782 AssertCompileMemberOffset(SVMVMCBCTRL, u64ExitInfo2, 0x80);783 AssertCompileMemberOffset(SVMVMCBCTRL, ExitIntInfo, 0x88);784 AssertCompileMemberOffset(SVMVMCBCTRL, NestedPaging,0x90);785 AssertCompileMemberOffset(SVMVMCBCTRL, AvicBar, 0x98);786 AssertCompileMemberOffset(SVMVMCBCTRL, u8Reserved2, 0xa0);787 AssertCompileMemberOffset(SVMVMCBCTRL, EventInject, 0xa8);788 AssertCompileMemberOffset(SVMVMCBCTRL, u64NestedPagingCR3, 0xb0);789 AssertCompileMemberOffset(SVMVMCBCTRL, u64LBRVirt, 0xb8);790 AssertCompileMemberOffset(SVMVMCBCTRL, u32VmcbCleanBits, 0xc0);791 AssertCompileMemberOffset(SVMVMCBCTRL, u64NextRIP, 0xc8);792 AssertCompileMemberOffset(SVMVMCBCTRL, cbInstrFetched, 0xd0);793 AssertCompileMemberOffset(SVMVMCBCTRL, abInstr, 0xd1);794 AssertCompileMemberOffset(SVMVMCBCTRL, AvicBackingPagePtr, 0xe0);795 AssertCompileMemberOffset(SVMVMCBCTRL, u8Reserved3, 0xe8);796 AssertCompileMemberOffset(SVMVMCBCTRL, AvicLogicalTablePtr, 0xf0);797 AssertCompileMemberOffset(SVMVMCBCTRL, AvicPhysicalTablePtr, 0xf8);754 AssertCompileMemberOffset(SVMVMCBCTRL, u16InterceptRdCRx, 0x00); 755 AssertCompileMemberOffset(SVMVMCBCTRL, u16InterceptWrCRx, 0x02); 756 AssertCompileMemberOffset(SVMVMCBCTRL, u16InterceptRdDRx, 0x04); 757 AssertCompileMemberOffset(SVMVMCBCTRL, u16InterceptWrDRx, 0x06); 758 AssertCompileMemberOffset(SVMVMCBCTRL, u32InterceptXcpt, 0x08); 759 AssertCompileMemberOffset(SVMVMCBCTRL, u64InterceptCtrl, 0x0c); 760 AssertCompileMemberOffset(SVMVMCBCTRL, u8Reserved, 0x14); 761 AssertCompileMemberOffset(SVMVMCBCTRL, u16PauseFilterThreshold, 0x3c); 762 AssertCompileMemberOffset(SVMVMCBCTRL, u16PauseFilterCount, 0x3e); 763 AssertCompileMemberOffset(SVMVMCBCTRL, u64IOPMPhysAddr, 0x40); 764 AssertCompileMemberOffset(SVMVMCBCTRL, u64MSRPMPhysAddr, 0x48); 765 AssertCompileMemberOffset(SVMVMCBCTRL, u64TSCOffset, 0x50); 766 AssertCompileMemberOffset(SVMVMCBCTRL, TLBCtrl, 0x58); 767 AssertCompileMemberOffset(SVMVMCBCTRL, IntCtrl, 0x60); 768 AssertCompileMemberOffset(SVMVMCBCTRL, u64IntShadow, 0x68); 769 AssertCompileMemberOffset(SVMVMCBCTRL, u64ExitCode, 0x70); 770 AssertCompileMemberOffset(SVMVMCBCTRL, u64ExitInfo1, 0x78); 771 AssertCompileMemberOffset(SVMVMCBCTRL, u64ExitInfo2, 0x80); 772 AssertCompileMemberOffset(SVMVMCBCTRL, ExitIntInfo, 0x88); 773 AssertCompileMemberOffset(SVMVMCBCTRL, RT_UNION_NM(np.) u64NpSevCtrl, 0x90); 774 AssertCompileMemberOffset(SVMVMCBCTRL, AvicBar, 0x98); 775 AssertCompileMemberOffset(SVMVMCBCTRL, u8Reserved2, 0xa0); 776 AssertCompileMemberOffset(SVMVMCBCTRL, EventInject, 0xa8); 777 AssertCompileMemberOffset(SVMVMCBCTRL, u64NestedPagingCR3, 0xb0); 778 AssertCompileMemberOffset(SVMVMCBCTRL, u64LBRVirt, 0xb8); 779 AssertCompileMemberOffset(SVMVMCBCTRL, u32VmcbCleanBits, 0xc0); 780 AssertCompileMemberOffset(SVMVMCBCTRL, u64NextRIP, 0xc8); 781 AssertCompileMemberOffset(SVMVMCBCTRL, cbInstrFetched, 0xd0); 782 AssertCompileMemberOffset(SVMVMCBCTRL, abInstr, 0xd1); 783 AssertCompileMemberOffset(SVMVMCBCTRL, AvicBackingPagePtr, 0xe0); 784 AssertCompileMemberOffset(SVMVMCBCTRL, u8Reserved3, 0xe8); 785 AssertCompileMemberOffset(SVMVMCBCTRL, AvicLogicalTablePtr, 0xf0); 786 AssertCompileMemberOffset(SVMVMCBCTRL, AvicPhysicalTablePtr, 0xf8); 798 787 799 788 /** … … 1000 989 SVMTLBCTRL TLBCtrl; 1001 990 /** Cache of the nested-paging control. */ 1002 SVMNPCTRL NestedPagingCtrl; 991 uint32_t u1NestedPaging : 1; 992 uint32_t u31Reserved0 : 31; 993 uint32_t u32Reserved1; 1003 994 /** @} */ 1004 995
Note:
See TracChangeset
for help on using the changeset viewer.