Changeset 19454 in vbox for trunk/include/VBox
- Timestamp:
- May 6, 2009 7:20:18 PM (16 years ago)
- Location:
- trunk/include/VBox
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/gmm.h
r19381 r19454 266 266 GMMR0DECL(void) GMMR0InitPerVMData(PGVM pGVM); 267 267 GMMR0DECL(void) GMMR0CleanupVM(PGVM pGVM); 268 GMMR0DECL(int) GMMR0InitialReservation(PVM pVM, unsignedidCpu, uint64_t cBasePages, uint32_t cShadowPages, uint32_t cFixedPages,268 GMMR0DECL(int) GMMR0InitialReservation(PVM pVM, VMCPUID idCpu, uint64_t cBasePages, uint32_t cShadowPages, uint32_t cFixedPages, 269 269 GMMOCPOLICY enmPolicy, GMMPRIORITY enmPriority); 270 GMMR0DECL(int) GMMR0UpdateReservation(PVM pVM, unsignedidCpu, uint64_t cBasePages, uint32_t cShadowPages, uint32_t cFixedPages);271 GMMR0DECL(int) GMMR0AllocateHandyPages(PVM pVM, unsignedidCpu, uint32_t cPagesToUpdate, uint32_t cPagesToAlloc, PGMMPAGEDESC paPages);272 GMMR0DECL(int) GMMR0AllocatePages(PVM pVM, unsignedidCpu, uint32_t cPages, PGMMPAGEDESC paPages, GMMACCOUNT enmAccount);273 GMMR0DECL(int) GMMR0FreePages(PVM pVM, unsignedidCpu, uint32_t cPages, PGMMFREEPAGEDESC paPages, GMMACCOUNT enmAccount);274 GMMR0DECL(int) GMMR0BalloonedPages(PVM pVM, unsignedidCpu, uint32_t cBalloonedPages, uint32_t cPagesToFree, PGMMFREEPAGEDESC paPages, bool fCompleted);275 GMMR0DECL(int) GMMR0DeflatedBalloon(PVM pVM, unsignedidCpu, uint32_t cPages);276 GMMR0DECL(int) GMMR0MapUnmapChunk(PVM pVM, unsignedidCpu, uint32_t idChunkMap, uint32_t idChunkUnmap, PRTR3PTR ppvR3);277 GMMR0DECL(int) GMMR0SeedChunk(PVM pVM, unsignedidCpu, RTR3PTR pvR3);270 GMMR0DECL(int) GMMR0UpdateReservation(PVM pVM, VMCPUID idCpu, uint64_t cBasePages, uint32_t cShadowPages, uint32_t cFixedPages); 271 GMMR0DECL(int) GMMR0AllocateHandyPages(PVM pVM, VMCPUID idCpu, uint32_t cPagesToUpdate, uint32_t cPagesToAlloc, PGMMPAGEDESC paPages); 272 GMMR0DECL(int) GMMR0AllocatePages(PVM pVM, VMCPUID idCpu, uint32_t cPages, PGMMPAGEDESC paPages, GMMACCOUNT enmAccount); 273 GMMR0DECL(int) GMMR0FreePages(PVM pVM, VMCPUID idCpu, uint32_t cPages, PGMMFREEPAGEDESC paPages, GMMACCOUNT enmAccount); 274 GMMR0DECL(int) GMMR0BalloonedPages(PVM pVM, VMCPUID idCpu, uint32_t cBalloonedPages, uint32_t cPagesToFree, PGMMFREEPAGEDESC paPages, bool fCompleted); 275 GMMR0DECL(int) GMMR0DeflatedBalloon(PVM pVM, VMCPUID idCpu, uint32_t cPages); 276 GMMR0DECL(int) GMMR0MapUnmapChunk(PVM pVM, VMCPUID idCpu, uint32_t idChunkMap, uint32_t idChunkUnmap, PRTR3PTR ppvR3); 277 GMMR0DECL(int) GMMR0SeedChunk(PVM pVM, VMCPUID idCpu, RTR3PTR pvR3); 278 278 279 279 … … 296 296 typedef GMMINITIALRESERVATIONREQ *PGMMINITIALRESERVATIONREQ; 297 297 298 GMMR0DECL(int) GMMR0InitialReservationReq(PVM pVM, unsignedidCpu, PGMMINITIALRESERVATIONREQ pReq);298 GMMR0DECL(int) GMMR0InitialReservationReq(PVM pVM, VMCPUID idCpu, PGMMINITIALRESERVATIONREQ pReq); 299 299 300 300 … … 314 314 typedef GMMUPDATERESERVATIONREQ *PGMMUPDATERESERVATIONREQ; 315 315 316 GMMR0DECL(int) GMMR0UpdateReservationReq(PVM pVM, unsignedidCpu, PGMMUPDATERESERVATIONREQ pReq);316 GMMR0DECL(int) GMMR0UpdateReservationReq(PVM pVM, VMCPUID idCpu, PGMMUPDATERESERVATIONREQ pReq); 317 317 318 318 … … 335 335 typedef GMMALLOCATEPAGESREQ *PGMMALLOCATEPAGESREQ; 336 336 337 GMMR0DECL(int) GMMR0AllocatePagesReq(PVM pVM, unsignedidCpu, PGMMALLOCATEPAGESREQ pReq);337 GMMR0DECL(int) GMMR0AllocatePagesReq(PVM pVM, VMCPUID idCpu, PGMMALLOCATEPAGESREQ pReq); 338 338 339 339 … … 356 356 typedef GMMFREEPAGESREQ *PGMMFREEPAGESREQ; 357 357 358 GMMR0DECL(int) GMMR0FreePagesReq(PVM pVM, unsignedidCpu, PGMMFREEPAGESREQ pReq);358 GMMR0DECL(int) GMMR0FreePagesReq(PVM pVM, VMCPUID idCpu, PGMMFREEPAGESREQ pReq); 359 359 360 360 … … 379 379 typedef GMMBALLOONEDPAGESREQ *PGMMBALLOONEDPAGESREQ; 380 380 381 GMMR0DECL(int) GMMR0BalloonedPagesReq(PVM pVM, unsignedidCpu, PGMMBALLOONEDPAGESREQ pReq);381 GMMR0DECL(int) GMMR0BalloonedPagesReq(PVM pVM, VMCPUID idCpu, PGMMBALLOONEDPAGESREQ pReq); 382 382 383 383 … … 400 400 typedef GMMMAPUNMAPCHUNKREQ *PGMMMAPUNMAPCHUNKREQ; 401 401 402 GMMR0DECL(int) GMMR0MapUnmapChunkReq(PVM pVM, unsignedidCpu, PGMMMAPUNMAPCHUNKREQ pReq);402 GMMR0DECL(int) GMMR0MapUnmapChunkReq(PVM pVM, VMCPUID idCpu, PGMMMAPUNMAPCHUNKREQ pReq); 403 403 404 404 -
trunk/include/VBox/gvmm.h
r19406 r19454 83 83 /** The number of calls to GVMMR0WakeUp. */ 84 84 uint64_t cWakeUpCalls; 85 /** The number of times the EMT thread wasn't actually halted when GVMMR0WakeUp was called. */ 85 /** The number of times the EMT thread wasn't actually halted when GVMMR0WakeUp 86 * was called. */ 86 87 uint64_t cWakeUpNotHalted; 87 /** The number of wake ups done during GVMMR0WakeUp (not counting the explicit one). */ 88 /** The number of wake ups done during GVMMR0WakeUp (not counting the explicit 89 * one). */ 88 90 uint64_t cWakeUpWakeUps; 91 92 /** The number of calls to GVMMR0Poke. */ 93 uint64_t cPokeCalls; 94 /** The number of times the EMT thread wasn't actually busy when 95 * GVMMR0Poke was called. */ 96 uint64_t cPokeNotBusy; 89 97 90 98 /** The number of calls to GVMMR0SchedPoll. */ -
trunk/include/VBox/sup.h
r19257 r19454 447 447 * @returns error code specific to uFunction. 448 448 * @param pVMR0 Pointer to the Ring-0 (Host Context) mapping of the VM structure. 449 * @param idCpu VMCPU id.449 * @param idCpu The virtual CPU ID. 450 450 * @param uOperation Operation to execute. 451 451 * @param pvArg Argument. 452 452 */ 453 SUPR3DECL(int) SUPCallVMMR0(PVMR0 pVMR0, unsignedidCpu, unsigned uOperation, void *pvArg);453 SUPR3DECL(int) SUPCallVMMR0(PVMR0 pVMR0, VMCPUID idCpu, unsigned uOperation, void *pvArg); 454 454 455 455 /** … … 460 460 * @param pVMR0 The ring-0 VM handle. 461 461 * @param uOperation The operation; only the SUP_VMMR0_DO_* ones are valid. 462 * @param idCpu VMCPU id.463 */ 464 SUPR3DECL(int) SUPCallVMMR0Fast(PVMR0 pVMR0, unsigned uOperation, unsignedidCpu);462 * @param idCpu The virtual CPU ID. 463 */ 464 SUPR3DECL(int) SUPCallVMMR0Fast(PVMR0 pVMR0, unsigned uOperation, VMCPUID idCpu); 465 465 466 466 /** … … 473 473 * @returns error code specific to uFunction. 474 474 * @param pVMR0 Pointer to the Ring-0 (Host Context) mapping of the VM structure. 475 * @param idCpu VMCPU id.475 * @param idCpu The virtual CPU ID. 476 476 * @param uOperation Operation to execute. 477 477 * @param u64Arg Constant argument. … … 480 480 * limit on this, just below 4KB. 481 481 */ 482 SUPR3DECL(int) SUPCallVMMR0Ex(PVMR0 pVMR0, unsignedidCpu, unsigned uOperation, uint64_t u64Arg, PSUPVMMR0REQHDR pReqHdr);482 SUPR3DECL(int) SUPCallVMMR0Ex(PVMR0 pVMR0, VMCPUID idCpu, unsigned uOperation, uint64_t u64Arg, PSUPVMMR0REQHDR pReqHdr); 483 483 484 484 /** -
trunk/include/VBox/vm.h
r19435 r19454 106 106 /** The native thread handle. */ 107 107 RTNATIVETHREAD hNativeThread; 108 /** Which host CPU ID is this EMT running on. 109 * Only valid when in RC or HWACCMR0 with scheduling disabled. */ 110 RTCPUID volatile idHostCpu; 108 111 109 112 /** Align the next bit on a 64-byte boundary. … … 114 117 * following it (to grow into and align the struct size). 115 118 * */ 116 uint32_t au32Alignment[HC_ARCH_BITS == 32 ? 8 : 4];119 uint32_t au32Alignment[HC_ARCH_BITS == 32 ? 7 : 3]; 117 120 118 121 /** CPUM part. */ -
trunk/include/VBox/vm.mac
r19217 r19454 47 47 ; This is part of the VM structure. 48 48 struc VM 49 .enmVMState resd 150 .fGlobalForcedActions resd 151 .paVMPagesR3 RTR3PTR_RES 152 .pSession RTR0PTR_RES 153 .pUVM RTR3PTR_RES 154 .pVMR3 RTR3PTR_RES 155 .pVMR0 RTR0PTR_RES 156 .pVMRC RTRCPTR_RES 157 .hSelf resd 158 .cCPUs resd 159 .cbSelf resd 160 .offVMCPU resd 161 .u32Reserved resd 649 .enmVMState resd 1 50 .fGlobalForcedActions resd 1 51 .paVMPagesR3 RTR3PTR_RES 1 52 .pSession RTR0PTR_RES 1 53 .pUVM RTR3PTR_RES 1 54 .pVMR3 RTR3PTR_RES 1 55 .pVMR0 RTR0PTR_RES 1 56 .pVMRC RTRCPTR_RES 1 57 .hSelf resd 1 58 .cCPUs resd 1 59 .cbSelf resd 1 60 .offVMCPU resd 1 61 .u32Reserved resd 6 62 62 63 63 .pfnVMMGCGuestToHostAsmGuestCtx RTRCPTR_RES 1 … … 65 65 .pfnVMMGCGuestToHostAsm RTRCPTR_RES 1 66 66 67 .uPadding1 RTHCPTR_RES 168 .uPadding2 RTHCPTR_RES 167 .uPadding1 RTHCPTR_RES 1 68 .uPadding2 RTHCPTR_RES 1 69 69 70 .fRawR3Enabled resb 171 .fRawR0Enabled resb 172 .fPATMEnabled resb 173 .fCSAMEnabled resb 174 .fHWACCMEnabled resb 175 .fHwVirtExtForced resb 176 .fPARAVEnabled resb 170 .fRawR3Enabled resb 1 71 .fRawR0Enabled resb 1 72 .fPATMEnabled resb 1 73 .fCSAMEnabled resb 1 74 .fHWACCMEnabled resb 1 75 .fHwVirtExtForced resb 1 76 .fPARAVEnabled resb 1 77 77 78 78 alignb 8 79 79 80 .StatTotalQemuToGC resb STAMPROFILEADV_size81 .StatTotalGCToQemu resb STAMPROFILEADV_size82 .StatTotalInGC resb STAMPROFILEADV_size83 .StatTotalInQemu resb STAMPROFILEADV_size84 .StatSwitcherToGC resb STAMPROFILEADV_size85 .StatSwitcherToHC resb STAMPROFILEADV_size86 .StatSwitcherSaveRegs resb STAMPROFILEADV_size87 .StatSwitcherSysEnter resb STAMPROFILEADV_size88 .StatSwitcherDebug resb STAMPROFILEADV_size89 .StatSwitcherCR0 resb STAMPROFILEADV_size90 .StatSwitcherCR4 resb STAMPROFILEADV_size91 .StatSwitcherJmpCR3 resb STAMPROFILEADV_size92 .StatSwitcherRstrRegs resb STAMPROFILEADV_size93 .StatSwitcherLgdt resb STAMPROFILEADV_size94 .StatSwitcherLidt resb STAMPROFILEADV_size95 .StatSwitcherLldt resb STAMPROFILEADV_size96 .StatSwitcherTSS resb STAMPROFILEADV_size80 .StatTotalQemuToGC resb STAMPROFILEADV_size 81 .StatTotalGCToQemu resb STAMPROFILEADV_size 82 .StatTotalInGC resb STAMPROFILEADV_size 83 .StatTotalInQemu resb STAMPROFILEADV_size 84 .StatSwitcherToGC resb STAMPROFILEADV_size 85 .StatSwitcherToHC resb STAMPROFILEADV_size 86 .StatSwitcherSaveRegs resb STAMPROFILEADV_size 87 .StatSwitcherSysEnter resb STAMPROFILEADV_size 88 .StatSwitcherDebug resb STAMPROFILEADV_size 89 .StatSwitcherCR0 resb STAMPROFILEADV_size 90 .StatSwitcherCR4 resb STAMPROFILEADV_size 91 .StatSwitcherJmpCR3 resb STAMPROFILEADV_size 92 .StatSwitcherRstrRegs resb STAMPROFILEADV_size 93 .StatSwitcherLgdt resb STAMPROFILEADV_size 94 .StatSwitcherLidt resb STAMPROFILEADV_size 95 .StatSwitcherLldt resb STAMPROFILEADV_size 96 .StatSwitcherTSS resb STAMPROFILEADV_size 97 97 98 98 alignb 64 99 .cpum resb 2048100 .vmm resb 102499 .cpum resb 2048 100 .vmm resb 1024 101 101 102 102 endstruc … … 105 105 ; This is part of the VMCPU structure. 106 106 struc VMCPU 107 .fLocalForcedActions resd 1108 .enmState resd 1109 .pUVCpu RTR3PTR_RES 1110 .pVMR3 RTR3PTR_RES 1111 .pVMR0 RTR0PTR_RES 1112 .pVMRC RTRCPTR_RES 1113 .idCpu resd 1107 .fLocalForcedActions resd 1 108 .enmState resd 1 109 .pUVCpu RTR3PTR_RES 1 110 .pVMR3 RTR3PTR_RES 1 111 .pVMR0 RTR0PTR_RES 1 112 .pVMRC RTRCPTR_RES 1 113 .idCpu resd 1 114 114 115 .hNativeThread RTR0PTR_RES 1 115 .hNativeThread RTR0PTR_RES 1 116 .idHostCpu resd 1 116 117 117 118 alignb 64 118 119 119 .cpum resb 4096120 .cpum resb 4096 120 121 endstruc 121 122 -
trunk/include/VBox/vmm.h
r19437 r19454 114 114 VMMDECL(PVMCPU) VMMGetCpu(PVM pVM); 115 115 VMMDECL(PVMCPU) VMMGetCpu0(PVM pVM); 116 VMMDECL(PVMCPU) VMMGetCpuById(PVM pVM, RTCPUID idCpu);116 VMMDECL(PVMCPU) VMMGetCpuById(PVM pVM, VMCPUID idCpu); 117 117 VMMDECL(uint32_t) VMMGetSvnRev(void); 118 118 VMMDECL(VMMSWITCHER) VMMGetSwitcher(PVM pVM); … … 298 298 299 299 VMMR0DECL(int) VMMR0EntryInt(PVM pVM, VMMR0OPERATION enmOperation, void *pvArg); 300 VMMR0DECL(void) VMMR0EntryFast(PVM pVM, unsignedidCpu, VMMR0OPERATION enmOperation);301 VMMR0DECL(int) VMMR0EntryEx(PVM pVM, unsignedidCpu, VMMR0OPERATION enmOperation, PSUPVMMR0REQHDR pReq, uint64_t u64Arg, PSUPDRVSESSION);300 VMMR0DECL(void) VMMR0EntryFast(PVM pVM, VMCPUID idCpu, VMMR0OPERATION enmOperation); 301 VMMR0DECL(int) VMMR0EntryEx(PVM pVM, VMCPUID idCpu, VMMR0OPERATION enmOperation, PSUPVMMR0REQHDR pReq, uint64_t u64Arg, PSUPDRVSESSION); 302 302 VMMR0DECL(int) VMMR0TermVM(PVM pVM, PGVM pGVM); 303 303 VMMR0DECL(int) VMMR0CallHost(PVM pVM, VMMCALLHOST enmOperation, uint64_t uArg);
Note:
See TracChangeset
for help on using the changeset viewer.