Changeset 28422 in vbox for trunk/src/VBox/VMM/VMMR0
- Timestamp:
- Apr 16, 2010 3:47:03 PM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 60188
- Location:
- trunk/src/VBox/VMM/VMMR0
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/GMMR0.cpp
r28043 r28422 3314 3314 } 3315 3315 3316 3317 /** 3318 * Registers a new shared module for the VM 3319 * 3320 * @returns VBox status code. 3321 * @param pVM VM handle 3322 * @param idCpu VCPU id 3323 * @param pszModuleName Module name 3324 * @param pszVersion Module version 3325 * @param GCBaseAddr Module base address 3326 * @param cbModule Module size 3327 * @param cRegions Number of shared region descriptors 3328 * @param pRegions Shared region(s) 3329 */ 3330 GMMR0DECL(int) GMMR0RegisterSharedModule(PVM pVM, VMCPUID idCpu, char *pszModuleName, char *pszVersion, RTGCPTR GCBaseAddr, uint32_t cbModule, 3331 unsigned cRegions, VMMDEVSHAREDREGIONDESC *pRegions) 3332 { 3333 return VERR_NOT_IMPLEMENTED; 3334 } 3335 3336 3337 /** 3338 * VMMR0 request wrapper for GMMR0RegisterSharedModule. 3339 * 3340 * @returns see GMMR0RegisterSharedModule. 3341 * @param pVM Pointer to the shared VM structure. 3342 * @param idCpu VCPU id 3343 * @param pReq The request packet. 3344 */ 3345 GMMR0DECL(int) GMMR0RegisterSharedModuleReq(PVM pVM, VMCPUID idCpu, PGMMREGISTERSHAREDMODULEREQ pReq) 3346 { 3347 /* 3348 * Validate input and pass it on. 3349 */ 3350 AssertPtrReturn(pVM, VERR_INVALID_POINTER); 3351 AssertPtrReturn(pReq, VERR_INVALID_POINTER); 3352 AssertMsgReturn(pReq->Hdr.cbReq >= sizeof(*pReq) && pReq->Hdr.cbReq == RT_OFFSETOF(GMMREGISTERSHAREDMODULEREQ, aRegions[pReq->cRegions]), ("%#x != %#x\n", pReq->Hdr.cbReq, sizeof(*pReq)), VERR_INVALID_PARAMETER); 3353 3354 return GMMR0RegisterSharedModule(pVM, idCpu, pReq->szName, pReq->szVersion, pReq->GCBaseAddr, pReq->cbModule, pReq->cRegions, pReq->aRegions); 3355 } 3356 3357 /** 3358 * Unregisters a shared module for the VM 3359 * 3360 * @returns VBox status code. 3361 * @param pVM VM handle 3362 * @param idCpu VCPU id 3363 * @param pszModuleName Module name 3364 * @param pszVersion Module version 3365 * @param GCBaseAddr Module base address 3366 * @param cbModule Module size 3367 */ 3368 GMMR0DECL(int) GMMR0UnregisterSharedModule(PVM pVM, VMCPUID idCpu, char *pszModuleName, char *pszVersion, RTGCPTR GCBaseAddr, uint32_t cbModule) 3369 { 3370 return VERR_NOT_IMPLEMENTED; 3371 } 3372 3373 /** 3374 * VMMR0 request wrapper for GMMR0UnregisterSharedModule. 3375 * 3376 * @returns see GMMR0UnregisterSharedModule. 3377 * @param pVM Pointer to the shared VM structure. 3378 * @param idCpu VCPU id 3379 * @param pReq The request packet. 3380 */ 3381 GMMR0DECL(int) GMMR0UnregisterSharedModuleReq(PVM pVM, VMCPUID idCpu, PGMMUNREGISTERSHAREDMODULEREQ pReq) 3382 { 3383 /* 3384 * Validate input and pass it on. 3385 */ 3386 AssertPtrReturn(pVM, VERR_INVALID_POINTER); 3387 AssertPtrReturn(pReq, VERR_INVALID_POINTER); 3388 AssertMsgReturn(pReq->Hdr.cbReq == sizeof(*pReq), ("%#x != %#x\n", pReq->Hdr.cbReq, sizeof(*pReq)), VERR_INVALID_PARAMETER); 3389 3390 return GMMR0UnregisterSharedModule(pVM, idCpu, pReq->szName, pReq->szVersion, pReq->GCBaseAddr, pReq->cbModule); 3391 } 3392 3393 3394 /** 3395 * Checks regsitered modules for shared pages 3396 * 3397 * @returns VBox status code. 3398 * @param pVM VM handle 3399 * @param idCpu VCPU id 3400 */ 3401 GMMR0DECL(int) GMMR0CheckSharedModules(PVM pVM, VMCPUID idCpu) 3402 { 3403 return VERR_NOT_IMPLEMENTED; 3404 } -
trunk/src/VBox/VMM/VMMR0/VMMR0.cpp
r28320 r28422 936 936 return GMMR0SeedChunk(pVM, idCpu, (RTR3PTR)u64Arg); 937 937 938 case VMMR0_DO_GMM_REGISTER_SHARED_MODULE: 939 if (u64Arg) 940 return VERR_INVALID_PARAMETER; 941 return GMMR0RegisterSharedModuleReq(pVM, idCpu, (PGMMREGISTERSHAREDMODULEREQ)pReqHdr); 942 943 case VMMR0_DO_GMM_UNREGISTER_SHARED_MODULE: 944 if (u64Arg) 945 return VERR_INVALID_PARAMETER; 946 return GMMR0UnregisterSharedModuleReq(pVM, idCpu, (PGMMUNREGISTERSHAREDMODULEREQ)pReqHdr); 947 948 case VMMR0_DO_GMM_CHECK_SHARED_MODULES: 949 if ( u64Arg 950 || pReqHdr) 951 return VERR_INVALID_PARAMETER; 952 return GMMR0CheckSharedModules(pVM, idCpu); 953 938 954 /* 939 955 * A quick GCFGM mock-up.
Note:
See TracChangeset
for help on using the changeset viewer.