Changeset 93635 in vbox for trunk/include/VBox/vmm
- Timestamp:
- Feb 7, 2022 10:43:45 AM (3 years ago)
- Location:
- trunk/include/VBox/vmm
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/pdmapi.h
r93609 r93635 53 53 VMM_INT_DECL(bool) PDMHasIoApic(PVM pVM); 54 54 VMM_INT_DECL(bool) PDMHasApic(PVM pVM); 55 VMM_INT_DECL(PPDMDEVINS) PDMDeviceRing0IdxToInstance(PVMCC pVM, uint64_t idxR0Device); 55 56 VMM_INT_DECL(int) PDMIoApicSetIrq(PVM pVM, PCIBDF uBusDevFn, uint8_t u8Irq, uint8_t u8Level, uint32_t uTagSrc); 56 57 VMM_INT_DECL(void) PDMIoApicBroadcastEoi(PVMCC pVM, uint8_t uVector); -
trunk/include/VBox/vmm/pdmdev.h
r93609 r93635 4895 4895 * @param GCPhysLast Last physical address. (inclusive) 4896 4896 * @param hType The handler type registration handle. 4897 * @param pvUserR3 User argument to the R3 handler.4898 * @param pvUserR0 User argument to the R0 handler.4899 * @param pvUserRC User argument to the RC handler. This can be a value4900 * less that 0x10000 or a (non-null) pointer that is4901 * automatically relocated.4902 4897 * @param pszDesc Description of this handler. If NULL, the type 4903 4898 * description will be used instead. 4899 * @note There is no @a uUser argument, because it will be set to the pDevIns 4900 * in the context the handler is called. 4904 4901 */ 4905 4902 DECLR3CALLBACKMEMBER(int, pfnPGMHandlerPhysicalRegister, (PPDMDEVINS pDevIns, RTGCPHYS GCPhys, RTGCPHYS GCPhysLast, 4906 PGMPHYSHANDLERTYPE hType, RTR3PTR pvUserR3, RTR0PTR pvUserR0, 4907 RTRCPTR pvUserRC, R3PTRTYPE(const char *) pszDesc)); 4903 PGMPHYSHANDLERTYPE hType, R3PTRTYPE(const char *) pszDesc)); 4908 4904 4909 4905 /** … … 9479 9475 */ 9480 9476 DECLINLINE(int) PDMDevHlpPGMHandlerPhysicalRegister(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, RTGCPHYS GCPhysLast, 9481 PGMPHYSHANDLERTYPE hType, RTR3PTR pvUserR3, RTR0PTR pvUserR0, 9482 RTRCPTR pvUserRC, R3PTRTYPE(const char *) pszDesc) 9483 { 9484 return pDevIns->pHlpR3->pfnPGMHandlerPhysicalRegister(pDevIns, GCPhys, GCPhysLast, hType, 9485 pvUserR3, pvUserR0, pvUserRC, pszDesc); 9477 PGMPHYSHANDLERTYPE hType, R3PTRTYPE(const char *) pszDesc) 9478 { 9479 return pDevIns->pHlpR3->pfnPGMHandlerPhysicalRegister(pDevIns, GCPhys, GCPhysLast, hType, pszDesc); 9486 9480 } 9487 9481 … … 9493 9487 return pDevIns->pHlpR3->pfnPGMHandlerPhysicalDeregister(pDevIns, GCPhys); 9494 9488 } 9495 #endif 9489 9490 #endif /* IN_RING3 */ 9496 9491 9497 9492 /** … … 9504 9499 9505 9500 #ifdef IN_RING3 9501 9506 9502 /** 9507 9503 * @copydoc PDMDEVHLPR3::pfnPGMHandlerPhysicalReset … … 9588 9584 return pDevIns->pHlpR3->pfnGIMGetDebugSetup(pDevIns, pDbgSetup); 9589 9585 } 9590 #endif 9586 9587 #endif /* IN_RING3 */ 9591 9588 9592 9589 /** … … 9599 9596 9600 9597 #ifdef IN_RING3 9598 9601 9599 /** Wrapper around SSMR3GetU32 for simplifying getting enum values saved as uint32_t. */ 9602 9600 # define PDMDEVHLP_SSM_GET_ENUM32_RET(a_pHlp, a_pSSM, a_enmDst, a_EnumType) \ -
trunk/include/VBox/vmm/pgm.h
r93596 r93635 195 195 * @param pvFault The fault address (cr2). 196 196 * @param GCPhysFault The GC physical address corresponding to pvFault. 197 * @param pvUser User argument.197 * @param uUser User argument (not a pointer). 198 198 * @thread EMT(pVCpu) 199 199 */ 200 200 typedef DECLCALLBACKTYPE(VBOXSTRICTRC, FNPGMRZPHYSPFHANDLER,(PVMCC pVM, PVMCPUCC pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame, 201 RTGCPTR pvFault, RTGCPHYS GCPhysFault, void *pvUser));201 RTGCPTR pvFault, RTGCPHYS GCPhysFault, uint64_t uUser)); 202 202 /** Pointer to PGM access callback. */ 203 203 typedef FNPGMRZPHYSPFHANDLER *PFNPGMRZPHYSPFHANDLER; … … 226 226 * @param enmAccessType The access type. 227 227 * @param enmOrigin The origin of this call. 228 * @param pvUser User argument.228 * @param uUser User argument (not a pointer). 229 229 * @thread EMT(pVCpu) 230 230 */ 231 231 typedef DECLCALLBACKTYPE(VBOXSTRICTRC, FNPGMPHYSHANDLER,(PVMCC pVM, PVMCPUCC pVCpu, RTGCPHYS GCPhys, void *pvPhys, 232 232 void *pvBuf, size_t cbBuf, PGMACCESSTYPE enmAccessType, 233 PGMACCESSORIGIN enmOrigin, void *pvUser));233 PGMACCESSORIGIN enmOrigin, uint64_t uUser)); 234 234 /** Pointer to PGM access callback. */ 235 235 typedef FNPGMPHYSHANDLER *PFNPGMPHYSHANDLER; … … 634 634 635 635 VMMDECL(int) PGMHandlerPhysicalRegister(PVMCC pVM, RTGCPHYS GCPhys, RTGCPHYS GCPhysLast, PGMPHYSHANDLERTYPE hType, 636 RTR3PTR pvUserR3, RTR0PTR pvUserR0, RTRCPTR pvUserRC, 637 R3PTRTYPE(const char *) pszDesc); 636 uint64_t uUser, R3PTRTYPE(const char *) pszDesc); 638 637 VMMDECL(int) PGMHandlerPhysicalModify(PVMCC pVM, RTGCPHYS GCPhysCurrent, RTGCPHYS GCPhys, RTGCPHYS GCPhysLast); 639 638 VMMDECL(int) PGMHandlerPhysicalDeregister(PVMCC pVM, RTGCPHYS GCPhys); 640 VMMDECL(int) PGMHandlerPhysicalChangeUserArg s(PVMCC pVM, RTGCPHYS GCPhys, RTR3PTR pvUserR3, RTR0PTR pvUserR0);639 VMMDECL(int) PGMHandlerPhysicalChangeUserArg(PVMCC pVM, RTGCPHYS GCPhys, uint64_t uUser); 641 640 VMMDECL(int) PGMHandlerPhysicalSplit(PVMCC pVM, RTGCPHYS GCPhys, RTGCPHYS GCPhysSplit); 642 641 VMMDECL(int) PGMHandlerPhysicalJoin(PVMCC pVM, RTGCPHYS GCPhys1, RTGCPHYS GCPhys2); … … 960 959 961 960 VMMR3DECL(int) PGMR3PhysMMIORegister(PVM pVM, RTGCPHYS GCPhys, RTGCPHYS cb, PGMPHYSHANDLERTYPE hType, 962 RTR3PTR pvUserR3, RTR0PTR pvUserR0, RTRCPTR pvUserRC, const char *pszDesc);961 uint64_t uUser, const char *pszDesc); 963 962 VMMR3DECL(int) PGMR3PhysMMIODeregister(PVM pVM, RTGCPHYS GCPhys, RTGCPHYS cb); 964 963 … … 1006 1005 VMMDECL(void) PGMR3PhysSetA20(PVMCPU pVCpu, bool fEnable); 1007 1006 1008 VMMR3_INT_DECL(int) PGMR3HandlerPhysicalTypeRegisterEx(PVM pVM, PGMPHYSHANDLERKIND enmKind, bool fKeepPgmLock,1007 VMMR3_INT_DECL(int) PGMR3HandlerPhysicalTypeRegisterEx(PVM pVM, PGMPHYSHANDLERKIND enmKind, uint32_t fFlags, 1009 1008 PFNPGMPHYSHANDLER pfnHandlerR3, 1010 1009 R0PTRTYPE(PFNPGMPHYSHANDLER) pfnHandlerR0, 1011 1010 R0PTRTYPE(PFNPGMRZPHYSPFHANDLER) pfnPfHandlerR0, 1012 1011 const char *pszDesc, PPGMPHYSHANDLERTYPE phType); 1013 VMMR3DECL(int) PGMR3HandlerPhysicalTypeRegister(PVM pVM, PGMPHYSHANDLERKIND enmKind, bool fKeepPgmLock,1012 VMMR3DECL(int) PGMR3HandlerPhysicalTypeRegister(PVM pVM, PGMPHYSHANDLERKIND enmKind, uint32_t fFlags, 1014 1013 R3PTRTYPE(PFNPGMPHYSHANDLER) pfnHandlerR3, 1015 1014 const char *pszModR0, const char *pszHandlerR0, const char *pszPfHandlerR0, … … 1017 1016 const char *pszDesc, 1018 1017 PPGMPHYSHANDLERTYPE phType); 1018 /** @name PGMPHYSHANDLER_F_XXX - flags for PGMR3HandlerPhysicalTypeRegister 1019 * @{ */ 1020 /** Whether to hold the PGM lock while calling the handler or not. 1021 * Mainly an optimization for PGM callers. */ 1022 #define PGMPHYSHANDLER_F_KEEP_PGM_LOCK RT_BIT_32(0) 1023 /** The uUser value is a ring-0 device instance index that needs translating 1024 * into a PDMDEVINS pointer before calling the handler. This is a hack to make 1025 * it possible to use access handlers in devices. */ 1026 #define PGMPHYSHANDLER_F_R0_DEVINS_IDX RT_BIT_32(1) 1027 /** Mask of valid bits. */ 1028 #define PGMPHYSHANDLER_F_VALID_MASK UINT32_C(3) 1029 /** @} */ 1030 1019 1031 VMMR3_INT_DECL(int) PGMR3PoolGrow(PVM pVM, PVMCPU pVCpu); 1020 1032 -
trunk/include/VBox/vmm/vm.h
r93628 r93635 1323 1323 struct PDM s; 1324 1324 #endif 1325 uint8_t padding[2 0864]; /* multiple of 64 */1325 uint8_t padding[22400]; /* multiple of 64 */ 1326 1326 } pdm; 1327 1327 … … 1458 1458 1459 1459 /** Padding for aligning the structure size on a page boundrary. */ 1460 uint8_t abAlignment2[ 10456- sizeof(PVMCPUR3) * VMM_MAX_CPU_COUNT];1460 uint8_t abAlignment2[8920 - sizeof(PVMCPUR3) * VMM_MAX_CPU_COUNT]; 1461 1461 1462 1462 /* ---- end small stuff ---- */ -
trunk/include/VBox/vmm/vm.mac
r93628 r93635 143 143 .mm resb 192 144 144 alignb 64 145 .pdm resb 2 0864145 .pdm resb 22400 146 146 alignb 64 147 147 .iom resb 1152
Note:
See TracChangeset
for help on using the changeset viewer.