Changeset 51643 in vbox for trunk/include/VBox/vmm
- Timestamp:
- Jun 18, 2014 11:06:06 AM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 94404
- Location:
- trunk/include/VBox/vmm
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/gim.h
r51563 r51643 57 57 GIMPROVIDERID_KVM 58 58 } GIMPROVIDERID; 59 AssertCompileSize(GIMPROVIDERID, 4);59 AssertCompileSize(GIMPROVIDERID, sizeof(uint32_t)); 60 60 61 61 … … 74 74 bool fMapped; 75 75 /** Alignment padding. */ 76 uint8_t au8Alignment0[ 4];76 uint8_t au8Alignment0[3]; 77 77 /** Size of the region (must be page aligned). */ 78 78 uint32_t cbRegion; … … 94 94 /** Pointer to a const GIM MMIO2 region. */ 95 95 typedef GIMMMIO2REGION const *PCGIMMMIO2REGION; 96 AssertCompileMemberAlignment(GIMMMIO2REGION, cbRegion, 97 AssertCompileMemberAlignment(GIMMMIO2REGION, pvPageR0, 96 AssertCompileMemberAlignment(GIMMMIO2REGION, cbRegion, 8); 97 AssertCompileMemberAlignment(GIMMMIO2REGION, pvPageR0, 8); 98 98 99 99 … … 153 153 VMMR0_INT_DECL(int) GIMR0InitVM(PVM pVM); 154 154 VMMR0_INT_DECL(int) GIMR0TermVM(PVM pVM); 155 VMMR0_INT_DECL(int) GIMR0UpdateParavirtTsc(PVM pVM, uint64_t u64Offset); 155 156 /** @} */ 156 157 #endif /* IN_RING0 */ … … 171 172 172 173 VMMDECL(bool) GIMIsEnabled(PVM pVM); 173 VMMDECL( int) GIMUpdateParavirtTsc(PVM pVM, uint64_t u64Offset);174 VMMDECL(GIMPROVIDERID) GIMGetProvider(PVM pVM); 174 175 VMMDECL(bool) GIMIsParavirtTscEnabled(PVM pVM); 175 176 VMM_INT_DECL(int) GIMHypercall(PVMCPU pVCpu, PCPUMCTX pCtx); -
trunk/include/VBox/vmm/hm_vmx.h
r50905 r51643 4 4 5 5 /* 6 * Copyright (C) 2006-201 3Oracle Corporation6 * Copyright (C) 2006-2014 Oracle Corporation 7 7 * 8 8 * This file is part of VirtualBox Open Source Edition (OSE), as … … 134 134 AssertCompileMemberOffset(VMXRESTOREHOST, uHostFSBase, 40); 135 135 AssertCompileSize(VMXRESTOREHOST, 56); 136 AssertCompileSizeAlignment(VMXRESTOREHOST, 8); 136 137 137 138 /** @name Host-state MSR lazy-restoration flags. … … 779 780 typedef const EPTPT *PCEPTPT; 780 781 781 /** 782 * VPID flush types. 782 /** @name VMX VPID flush types. 783 * Warning!! Valid enum members are in accordance to the VT-x spec. 784 * @{ 783 785 */ 784 786 typedef enum 785 787 { 786 788 /** Invalidate a specific page. */ 787 VMX _FLUSH_VPID_INDIV_ADDR = 0,789 VMXFLUSHVPID_INDIV_ADDR = 0, 788 790 /** Invalidate one context (specific VPID). */ 789 VMX _FLUSH_VPID_SINGLE_CONTEXT = 1,791 VMXFLUSHVPID_SINGLE_CONTEXT = 1, 790 792 /** Invalidate all contexts (all VPIDs). */ 791 VMX _FLUSH_VPID_ALL_CONTEXTS = 2,793 VMXFLUSHVPID_ALL_CONTEXTS = 2, 792 794 /** Invalidate a single VPID context retaining global mappings. */ 793 VMX _FLUSH_VPID_SINGLE_CONTEXT_RETAIN_GLOBALS = 3,795 VMXFLUSHVPID_SINGLE_CONTEXT_RETAIN_GLOBALS = 3, 794 796 /** Unsupported by VirtualBox. */ 795 VMX _FLUSH_VPID_NOT_SUPPORTED = 0xbad,797 VMXFLUSHVPID_NOT_SUPPORTED = 0xbad0, 796 798 /** Unsupported by CPU. */ 797 VMX_FLUSH_VPID_NONE = 0xb00, 798 /** 32bit hackishness. */ 799 VMX_FLUSH_VPID_32BIT_HACK = 0x7fffffff 800 } VMX_FLUSH_VPID; 801 802 /** 803 * EPT flush types. 799 VMXFLUSHVPID_NONE = 0xbad1 800 } VMXFLUSHVPID; 801 AssertCompileSize(VMXFLUSHVPID, 4); 802 /** @} */ 803 804 /** @name VMX EPT flush types. 805 * Warning!! Valid enums values below are in accordance to the VT-x spec. 806 * @{ 804 807 */ 805 808 typedef enum 806 809 { 807 810 /** Invalidate one context (specific EPT). */ 808 VMX _FLUSH_EPT_SINGLE_CONTEXT= 1,811 VMXFLUSHEPT_SINGLE_CONTEXT = 1, 809 812 /* Invalidate all contexts (all EPTs) */ 810 VMX _FLUSH_EPT_ALL_CONTEXTS= 2,813 VMXFLUSHEPT_ALL_CONTEXTS = 2, 811 814 /** Unsupported by VirtualBox. */ 812 VMX _FLUSH_EPT_NOT_SUPPORTED = 0xbad,815 VMXFLUSHEPT_NOT_SUPPORTED = 0xbad0, 813 816 /** Unsupported by CPU. */ 814 VMX _FLUSH_EPT_NONE = 0xb00,815 /** 32bit hackishness. */ 816 VMX_FLUSH_EPT_32BIT_HACK = 0x7fffffff 817 } VMX_FLUSH_EPT; 818 /** @} */ 819 820 /** @name MSR autoload/store elements 817 VMXFLUSHEPT_NONE = 0xbad1 818 } VMXFLUSHEPT; 819 AssertCompileSize(VMXFLUSHEPT, 4); 820 /** @} */ 821 822 /** @name VMX MSR autoload/store element. 823 * In accordance to VT-x spec. 821 824 * @{ 822 825 */ … … 824 827 typedef struct 825 828 { 829 /** The MSR Id. */ 826 830 uint32_t u32Msr; 831 /** Reserved (MBZ). */ 827 832 uint32_t u32Reserved; 833 /** The MSR value. */ 828 834 uint64_t u64Value; 829 835 } VMXAUTOMSR; … … 877 883 /** Pointer to a VMXMSRS struct. */ 878 884 typedef VMXMSRS *PVMXMSRS; 885 AssertCompileSizeAlignment(VMXMSRS, 8); 879 886 /** @} */ 880 887 … … 2188 2195 * @param pDescriptor Descriptor 2189 2196 */ 2190 DECLASM(int) VMXR0InvEPT(VMX _FLUSH_EPT enmFlush, uint64_t *pDescriptor);2197 DECLASM(int) VMXR0InvEPT(VMXFLUSHEPT enmFlush, uint64_t *pDescriptor); 2191 2198 2192 2199 /** … … 2196 2203 * @param pDescriptor Descriptor 2197 2204 */ 2198 DECLASM(int) VMXR0InvVPID(VMX _FLUSH_VPID enmFlush, uint64_t *pDescriptor);2205 DECLASM(int) VMXR0InvVPID(VMXFLUSHVPID enmFlush, uint64_t *pDescriptor); 2199 2206 2200 2207 /** -
trunk/include/VBox/vmm/tm.h
r44528 r51643 133 133 VMMDECL(uint64_t) TMCpuTickGet(PVMCPU pVCpu); 134 134 VMM_INT_DECL(uint64_t) TMCpuTickGetNoCheck(PVMCPU pVCpu); 135 VMM_INT_DECL(bool) TMCpuTickCanUseRealTSC(PVMCPU pVCpu, uint64_t *poffRealTSC );136 VMM_INT_DECL(uint64_t) TMCpuTickGetDeadlineAndTscOffset(PVMCPU pVCpu, bool *pfOffsettedTsc, uint64_t *poffRealTSC);135 VMM_INT_DECL(bool) TMCpuTickCanUseRealTSC(PVMCPU pVCpu, uint64_t *poffRealTSC, bool *pfParavirtTsc); 136 VMM_INT_DECL(uint64_t) TMCpuTickGetDeadlineAndTscOffset(PVMCPU pVCpu, bool *pfOffsettedTsc, bool *pfParavirtTsc, uint64_t *poffRealTSC); 137 137 VMM_INT_DECL(int) TMCpuTickSet(PVM pVM, PVMCPU pVCpu, uint64_t u64Tick); 138 138 VMM_INT_DECL(int) TMCpuTickSetLastSeen(PVMCPU pVCpu, uint64_t u64LastSeenTick); -
trunk/include/VBox/vmm/vm.h
r51560 r51643 149 149 struct HMCPU s; 150 150 #endif 151 uint8_t padding[56 32]; /* multiple of 64 */151 uint8_t padding[5696]; /* multiple of 64 */ 152 152 } hm; 153 153 … … 235 235 236 236 /** Align the following members on page boundary. */ 237 uint8_t abAlignment2[64];237 //uint8_t abAlignment2[64]; 238 238 239 239 /** PGM part. */ -
trunk/include/VBox/vmm/vm.mac
r51560 r51643 135 135 136 136 .cpum resb 3584 137 .hm resb 56 32137 .hm resb 5696 138 138 .em resb 1472 139 139 .iem resb 3072
Note:
See TracChangeset
for help on using the changeset viewer.