Changeset 51560 in vbox for trunk/include/VBox/vmm
- Timestamp:
- Jun 6, 2014 5:17:02 AM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 94218
- Location:
- trunk/include/VBox/vmm
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/gim.h
r51333 r51560 44 44 45 45 /** 46 * Providers identifiers.46 * GIM Provider Identifiers. 47 47 */ 48 48 typedef enum GIMPROVIDERID … … 55 55 GIMPROVIDERID_HYPERV, 56 56 /** Linux KVM Interface. */ 57 GIMPROVIDERID_KVM, 58 /** Ensure 32-bit type. */ 59 GIMPROVIDERID_32BIT_HACK = 0x7fffffff 57 GIMPROVIDERID_KVM 60 58 } GIMPROVIDERID; 59 AssertCompileSize(GIMPROVIDERID, 4); 60 61 62 /** 63 * A GIM MMIO2 region record. 64 */ 65 typedef struct GIMMMIO2REGION 66 { 67 /** The region index. */ 68 uint8_t iRegion; 69 /** Whether an RC mapping is required. */ 70 bool fRCMapping; 71 /** Whether this region has been registered. */ 72 bool fRegistered; 73 /** Whether this region is currently mapped. */ 74 bool fMapped; 75 /** Alignment padding. */ 76 uint8_t au8Alignment0[4]; 77 /** Size of the region (must be page aligned). */ 78 uint32_t cbRegion; 79 /** Alignment padding. */ 80 uint32_t u32Alignment0; 81 /** The host ring-0 address of the first page in the region. */ 82 R0PTRTYPE(void *) pvPageR0; 83 /** The host ring-3 address of the first page in the region. */ 84 R3PTRTYPE(void *) pvPageR3; 85 /** The ring-context address of the first page in the region. */ 86 RCPTRTYPE(void *) pvPageRC; 87 /** The guest-physical address of the first page in the region. */ 88 RTGCPHYS GCPhysPage; 89 /** The description of the region. */ 90 char szDescription[32]; 91 } GIMMMIO2REGION; 92 /** Pointer to a GIM MMIO2 region. */ 93 typedef GIMMMIO2REGION *PGIMMMIO2REGION; 94 /** Pointer to a const GIM MMIO2 region. */ 95 typedef GIMMMIO2REGION const *PCGIMMMIO2REGION; 96 AssertCompileMemberAlignment(GIMMMIO2REGION, cbRegion, 8); 97 AssertCompileMemberAlignment(GIMMMIO2REGION, pvPageR0, 8); 61 98 62 99 … … 114 151 * @{ 115 152 */ 116 153 VMMR0_INT_DECL(int) GIMR0InitVM(PVM pVM); 154 VMMR0_INT_DECL(int) GIMR0TermVM(PVM pVM); 117 155 /** @} */ 118 156 #endif /* IN_RING0 */ … … 124 162 * @{ 125 163 */ 126 VMMR3_INT_DECL(int) GIMR3Init(PVM pVM); 127 VMMR3_INT_DECL(int) GIMR3Term(PVM pVM); 164 VMMR3_INT_DECL(int) GIMR3Init(PVM pVM); 165 VMMR3_INT_DECL(int) GIMR3Term(PVM pVM); 166 VMMR3_INT_DECL(void) GIMR3Reset(PVM pVM); 167 VMMR3DECL(void) GIMR3GimDeviceRegister(PVM pVM, PPDMDEVINS pDevIns); 168 VMMR3DECL(PGIMMMIO2REGION) GIMR3GetMmio2Regions(PVM pVM, uint32_t *pcRegions); 128 169 /** @} */ 129 170 #endif /* IN_RING3 */ 130 171 131 VMMDECL(bool) GIMIsEnabled(PVM pVM); 132 VMM_INT_DECL(int) GIMHypercall(PVMCPU pVCpu, PCPUMCTX pCtx); 133 VMM_INT_DECL(int) GIMReadMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue); 134 VMM_INT_DECL(int) GIMWriteMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue); 172 VMMDECL(bool) GIMIsEnabled(PVM pVM); 173 VMMDECL(int) GIMUpdateParavirtTsc(PVM pVM, uint64_t u64Offset); 174 VMM_INT_DECL(int) GIMHypercall(PVMCPU pVCpu, PCPUMCTX pCtx); 175 VMM_INT_DECL(int) GIMReadMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t *puValue); 176 VMM_INT_DECL(int) GIMWriteMsr(PVMCPU pVCpu, uint32_t idMsr, PCCPUMMSRRANGE pRange, uint64_t uValue, uint64_t uRawValue); 135 177 136 178 /** @} */ … … 138 180 RT_C_DECLS_END 139 181 140 #endif 182 #endif /* ___VBox_vmm_gim_h */ 141 183 -
trunk/include/VBox/vmm/hm.h
r50608 r51560 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 … … 144 144 VMM_INT_DECL(int) HMAmdIsSubjectToErratum170(uint32_t *pu32Family, uint32_t *pu32Model, uint32_t *pu32Stepping); 145 145 VMM_INT_DECL(bool) HMSetSingleInstruction(PVMCPU pVCpu, bool fEnable); 146 VMM_INT_DECL(int) HMPatchHypercall(PVM pVM, void *pvBuf, size_t cbBuf, size_t *pcbWritten); 146 147 147 148 #ifndef IN_RC -
trunk/include/VBox/vmm/vm.h
r50953 r51560 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 … … 1122 1122 struct GIM s; 1123 1123 #endif 1124 uint8_t padding[ 64]; /* multiple of 64 */1124 uint8_t padding[256]; /* multiple of 64 */ 1125 1125 } gim; 1126 1126 … … 1147 1147 1148 1148 /** Padding for aligning the cpu array on a page boundary. */ 1149 uint8_t abAlignment2[ 350];1149 uint8_t abAlignment2[158]; 1150 1150 1151 1151 /* ---- end small stuff ---- */ -
trunk/include/VBox/vmm/vm.mac
r50953 r51560 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
Note:
See TracChangeset
for help on using the changeset viewer.