Changeset 76993 in vbox for trunk/include/VBox/vmm
- Timestamp:
- Jan 25, 2019 2:34:46 PM (6 years ago)
- Location:
- trunk/include/VBox/vmm
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/hm.h
r76821 r76993 137 137 VMM_INT_DECL(bool) HMIsSvmActive(PVM pVM); 138 138 VMM_INT_DECL(bool) HMIsVmxActive(PVM pVM); 139 VMM_INT_DECL(bool) HMIsVmxSupported(PVM pVM); 140 VMM_INT_DECL(const char *) HMVmxGetDiagDesc(VMXVDIAG enmDiag); 141 VMM_INT_DECL(const char *) HMVmxGetAbortDesc(VMXABORT enmAbort); 142 VMM_INT_DECL(const char *) HMVmxGetVmcsStateDesc(uint8_t fVmcsState); 143 VMM_INT_DECL(const char *) HMVmxGetIdtVectoringInfoTypeDesc(uint8_t uType); 144 VMM_INT_DECL(const char *) HMVmxGetExitIntInfoTypeDesc(uint8_t uType); 145 VMM_INT_DECL(const char *) HMVmxGetEntryIntInfoTypeDesc(uint8_t uType); 146 VMM_INT_DECL(void) HMHCPagingModeChanged(PVM pVM, PVMCPU pVCpu, PGMMODE enmShadowMode, PGMMODE enmGuestMode); 147 VMM_INT_DECL(void) HMVmxGetVmxMsrsFromHwvirtMsrs(PCSUPHWVIRTMSRS pMsrs, PVMXMSRS pVmxMsrs); 148 VMM_INT_DECL(void) HMVmxGetSvmMsrsFromHwvirtMsrs(PCSUPHWVIRTMSRS pMsrs, PSVMMSRS pSvmMsrs); 139 VMM_INT_DECL(const char *) HMGetVmxDiagDesc(VMXVDIAG enmDiag); 140 VMM_INT_DECL(const char *) HMGetVmxAbortDesc(VMXABORT enmAbort); 141 VMM_INT_DECL(const char *) HMGetVmxVmcsStateDesc(uint8_t fVmcsState); 142 VMM_INT_DECL(const char *) HMGetVmxIdtVectoringInfoTypeDesc(uint8_t uType); 143 VMM_INT_DECL(const char *) HMGetVmxExitIntInfoTypeDesc(uint8_t uType); 144 VMM_INT_DECL(const char *) HMGetVmxEntryIntInfoTypeDesc(uint8_t uType); 145 VMM_INT_DECL(const char *) HMGetVmxExitName(uint32_t uExit); 146 VMM_INT_DECL(const char *) HMGetSvmExitName(uint32_t uExit); 147 VMM_INT_DECL(void) HMDumpHwvirtVmxState(PVMCPU pVCpu); 148 VMM_INT_DECL(void) HMHCChangedPagingMode(PVM pVM, PVMCPU pVCpu, PGMMODE enmShadowMode, PGMMODE enmGuestMode); 149 VMM_INT_DECL(void) HMGetVmxMsrsFromHwvirtMsrs(PCSUPHWVIRTMSRS pMsrs, PVMXMSRS pVmxMsrs); 150 VMM_INT_DECL(void) HMGetSvmMsrsFromHwvirtMsrs(PCSUPHWVIRTMSRS pMsrs, PSVMMSRS pSvmMsrs); 149 151 /** @} */ 150 152 … … 155 157 * found in CPUM. 156 158 * @{ */ 157 VMM_INT_DECL(bool) HM VmxCanExecuteGuest(PVMCPU pVCpu, PCCPUMCTX pCtx);159 VMM_INT_DECL(bool) HMCanExecuteVmxGuest(PVMCPU pVCpu, PCCPUMCTX pCtx); 158 160 /** @} */ 159 161 … … 171 173 /** @name R0, R3 HM (VMX/SVM agnostic) handlers. 172 174 * @{ */ 173 VMM_INT_DECL(int) HMFlushT LB(PVMCPU pVCpu);174 VMM_INT_DECL(int) HMFlushT LBOnAllVCpus(PVM pVM);175 VMM_INT_DECL(int) HMFlushTlb(PVMCPU pVCpu); 176 VMM_INT_DECL(int) HMFlushTlbOnAllVCpus(PVM pVM); 175 177 VMM_INT_DECL(int) HMInvalidatePageOnAllVCpus(PVM pVM, RTGCPTR GCVirt); 176 178 VMM_INT_DECL(int) HMInvalidatePhysPage(PVM pVM, RTGCPHYS GCPhys); … … 183 185 /** @name R0, R3 SVM handlers. 184 186 * @{ */ 185 VMM_INT_DECL(bool) HM SvmIsVGifActive(PVM pVM);186 VMM_INT_DECL(uint64_t) HM SvmNstGstApplyTscOffset(PVMCPU pVCpu, uint64_t uTicks);187 VMM_INT_DECL(bool) HMIsSvmVGifActive(PVM pVM); 188 VMM_INT_DECL(uint64_t) HMApplySvmNstGstTscOffset(PVMCPU pVCpu, uint64_t uTicks); 187 189 # ifdef VBOX_WITH_NESTED_HWVIRT_SVM 188 VMM_INT_DECL(void) HM SvmNstGstVmExitNotify(PVMCPU pVCpu, PCPUMCTX pCtx);190 VMM_INT_DECL(void) HMNotifySvmNstGstVmexit(PVMCPU pVCpu, PCPUMCTX pCtx); 189 191 # endif 190 VMM_INT_DECL(int) HM SvmIsSubjectToErratum170(uint32_t *pu32Family, uint32_t *pu32Model, uint32_t *pu32Stepping);191 VMM_INT_DECL(int) HMHC SvmMaybeMovTprHypercall(PVMCPU pVCpu);192 VMM_INT_DECL(int) HMIsSubjectToSvmErratum170(uint32_t *pu32Family, uint32_t *pu32Model, uint32_t *pu32Stepping); 193 VMM_INT_DECL(int) HMHCMaybeMovTprSvmHypercall(PVMCPU pVCpu); 192 194 /** @} */ 193 195 … … 196 198 /** @name RC HM (VMX/SVM agnostic) handlers. 197 199 * @{ */ 198 # define HMFlushT LB(pVCpu) do { } while (0)199 # define HMFlushT LBOnAllVCpus(pVM) do { } while (0)200 # define HMFlushTlb(pVCpu) do { } while (0) 201 # define HMFlushTlbOnAllVCpus(pVM) do { } while (0) 200 202 # define HMInvalidatePageOnAllVCpus(pVM, GCVirt) do { } while (0) 201 203 # define HMInvalidatePhysPage(pVM, GCVirt) do { } while (0) … … 208 210 /** @name RC SVM handlers. 209 211 * @{ */ 210 # define HM SvmIsVGifActive(pVM) false211 # define HM SvmNstGstApplyTscOffset(pVCpu, uTicks) (uTicks)212 # define HM SvmNstGstVmExitNotify(pVCpu, pCtx) do { } while (0)213 # define HM SvmIsSubjectToErratum170(puFamily, puModel, puStepping) false214 # define HMHC SvmMaybeMovTprHypercall(pVCpu) do { } while (0)212 # define HMIsSvmVGifActive(pVM) false 213 # define HMApplySvmNstGstTscOffset(pVCpu, uTicks) (uTicks) 214 # define HMNotifySvmNstGstVmexit(pVCpu, pCtx) do { } while (0) 215 # define HMIsSubjectToSvmErratum170(puFamily, puModel, puStepping) false 216 # define HMHCMaybeMovTprSvmHypercall(pVCpu) do { } while (0) 215 217 /** @} */ 216 218 … … 281 283 VMMR3_INT_DECL(bool) HMR3IsRescheduleRequired(PVM pVM, PCPUMCTX pCtx); 282 284 VMMR3_INT_DECL(bool) HMR3IsVmxPreemptionTimerUsed(PVM pVM); 283 VMMR3DECL(const char *) HMR3GetVmxExitName(uint32_t uExit);284 VMMR3DECL(const char *) HMR3GetSvmExitName(uint32_t uExit);285 285 /** @} */ 286 286 #endif /* IN_RING3 */ -
trunk/include/VBox/vmm/hm_svm.h
r76585 r76993 1162 1162 * @{ 1163 1163 */ 1164 VMM_INT_DECL(int) HM SvmGetMsrpmOffsetAndBit(uint32_t idMsr, uint16_t *pbOffMsrpm, uint8_t *puMsrpmBit);1165 VMM_INT_DECL(bool) HM SvmIsIOInterceptActive(void *pvIoBitmap, uint16_t u16Port, SVMIOIOTYPE enmIoType, uint8_t cbReg,1164 VMM_INT_DECL(int) HMGetSvmMsrpmOffsetAndBit(uint32_t idMsr, uint16_t *pbOffMsrpm, uint8_t *puMsrpmBit); 1165 VMM_INT_DECL(bool) HMIsSvmIoInterceptActive(void *pvIoBitmap, uint16_t u16Port, SVMIOIOTYPE enmIoType, uint8_t cbReg, 1166 1166 uint8_t cAddrSizeBits, uint8_t iEffSeg, bool fRep, bool fStrIo, 1167 1167 PSVMIOIOEXITINFO pIoExitInfo); -
trunk/include/VBox/vmm/hm_vmx.h
r76827 r76993 1400 1400 /** @name VMX abort reasons. 1401 1401 * See Intel spec. "27.7 VMX Aborts". 1402 * Update HMVmxGetAbortDesc() if new reasons are added. 1403 * @{ 1402 * Update HMGetVmxAbortDesc() if new reasons are added. @{ 1404 1403 */ 1405 1404 typedef enum … … 4094 4093 * @{ 4095 4094 */ 4096 VMM_INT_DECL(int) HM VmxGetMsrPermission(void const *pvMsrBitmap, uint32_t idMsr, PVMXMSREXITREAD penmRead,4095 VMM_INT_DECL(int) HMGetVmxMsrPermission(void const *pvMsrBitmap, uint32_t idMsr, PVMXMSREXITREAD penmRead, 4097 4096 PVMXMSREXITWRITE penmWrite); 4098 VMM_INT_DECL(bool) HM VmxGetIoBitmapPermission(void const *pvIoBitmapA, void const *pvIoBitmapB, uint16_t uPort,4097 VMM_INT_DECL(bool) HMGetVmxIoBitmapPermission(void const *pvIoBitmapA, void const *pvIoBitmapB, uint16_t uPort, 4099 4098 uint8_t cbAccess); 4100 4099 /** @} */
Note:
See TracChangeset
for help on using the changeset viewer.