Changeset 719 in vbox
- Timestamp:
- Feb 6, 2007 4:40:34 PM (18 years ago)
- svn:sync-xref-src-repo-rev:
- 18361
- Location:
- trunk/src/VBox/Additions
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/common/VBoxGuestLib/GenericRequest.cpp
r1 r719 34 34 { 35 35 int rc = VbglEnter (); 36 VMMDevRequestHeader *pReq; 36 37 37 38 if (VBOX_FAILURE(rc)) … … 46 47 } 47 48 48 VMMDevRequestHeader *pReq = (VMMDevRequestHeader *)VbglPhysHeapAlloc (cbSize);49 pReq = (VMMDevRequestHeader *)VbglPhysHeapAlloc (cbSize); 49 50 50 51 if (!pReq) … … 72 73 DECLVBGL(int) VbglGRPerform (VMMDevRequestHeader *pReq) 73 74 { 75 RTCCPHYS physaddr; 74 76 int rc = VbglEnter (); 75 77 … … 89 91 } 90 92 91 RTCCPHYSphysaddr = VbglPhysHeapGetPhysAddr (pReq);93 physaddr = VbglPhysHeapGetPhysAddr (pReq); 92 94 93 95 if (!physaddr) -
trunk/src/VBox/Additions/common/VBoxGuestLib/HGCM.cpp
r309 r719 87 87 } 88 88 89 VBGLHGCMHANDLEDATA *vbglHGCMHandleAlloc (void) 90 { 89 struct VBGLHGCMHANDLEDATA *vbglHGCMHandleAlloc (void) 90 { 91 struct VBGLHGCMHANDLEDATA *p; 91 92 int rc = vbglHandleHeapEnter (); 92 93 … … 96 97 } 97 98 98 VBGLHGCMHANDLEDATA *p = NULL;99 p = NULL; 99 100 100 101 /** Simple linear search in array. This will be called not so often, only connect/disconnect. … … 124 125 } 125 126 126 void vbglHGCMHandleFree (VBGLHGCMHANDLEDATA *pHandle) 127 { 127 void vbglHGCMHandleFree (struct VBGLHGCMHANDLEDATA *pHandle) 128 { 129 int rc; 130 128 131 if (!pHandle) 129 132 { … … 131 134 } 132 135 133 intrc = vbglHandleHeapEnter ();136 rc = vbglHandleHeapEnter (); 134 137 135 138 if (VBOX_FAILURE (rc)) … … 141 144 ("Freeing not allocated handle.\n")); 142 145 143 memset(pHandle, 0, sizeof ( VBGLHGCMHANDLEDATA));146 memset(pHandle, 0, sizeof (struct VBGLHGCMHANDLEDATA)); 144 147 145 148 vbglHandleHeapLeave (); … … 150 153 DECLVBGL(int) VbglHGCMConnect (VBGLHGCMHANDLE *pHandle, VBoxGuestHGCMConnectInfo *pData) 151 154 { 155 int rc; 156 struct VBGLHGCMHANDLEDATA *pHandleData; 157 152 158 if (!pHandle || !pData) 153 159 { … … 155 161 } 156 162 157 VBGLHGCMHANDLEDATA *pHandleData = vbglHGCMHandleAlloc ();158 159 intrc = VINF_SUCCESS;163 pHandleData = vbglHGCMHandleAlloc (); 164 165 rc = VINF_SUCCESS; 160 166 161 167 if (!pHandleData) … … 212 218 rc = vbglDriverIOCtl (&handle->driver, IOCTL_VBOXGUEST_HGCM_CALL, pData, cbData); 213 219 214 dprintf(("vbglDriverIOCtl rc = %Vrc\n", rc));215 216 220 return rc; 217 221 } -
trunk/src/VBox/Additions/common/VBoxGuestLib/HGCMInternal.cpp
r1 r719 54 54 uint32_t u32AsyncData) 55 55 { 56 VMMDevHGCMConnect *pHGCMConnect; 56 57 if (!pConnectInfo || !pAsyncCallback) 57 58 { … … 59 60 } 60 61 61 VMMDevHGCMConnect *pHGCMConnect = NULL;62 pHGCMConnect = NULL; 62 63 63 64 /* Allocate request */ … … 102 103 VBGLHGCMCALLBACK *pAsyncCallback, void *pvAsyncData, uint32_t u32AsyncData) 103 104 { 105 VMMDevHGCMDisconnect *pHGCMDisconnect; 104 106 if (!pDisconnectInfo || !pAsyncCallback) 105 107 { … … 107 109 } 108 110 109 VMMDevHGCMDisconnect *pHGCMDisconnect = NULL;111 pHGCMDisconnect = NULL; 110 112 111 113 /* Allocate request */ … … 144 146 VBGLHGCMCALLBACK *pAsyncCallback, void *pvAsyncData, uint32_t u32AsyncData) 145 147 { 148 VMMDevHGCMCall *pHGCMCall; 146 149 if (!pCallInfo || !pAsyncCallback) 147 150 { … … 151 154 dprintf (("VbglHGCMCall: pCallInfo->cParms = %d, pHGCMCall->u32Function = %d\n", pCallInfo->cParms, pCallInfo->u32Function)); 152 155 153 VMMDevHGCMCall *pHGCMCall = NULL;156 pHGCMCall = NULL; 154 157 155 158 uint32_t cbParms = pCallInfo->cParms * sizeof (HGCMFunctionParameter); -
trunk/src/VBox/Additions/common/VBoxGuestLib/PhysHeap.cpp
r309 r719 287 287 static VBGLPHYSHEAPBLOCK *vbglPhysHeapChunkAlloc (uint32_t cbSize) 288 288 { 289 RTCCPHYS physAddr; 290 VBGLPHYSHEAPCHUNK *pChunk; 291 VBGLPHYSHEAPBLOCK *pBlock; 289 292 VBGL_PH_dprintf(("Allocating new chunk of size %d\n", cbSize)); 290 293 … … 301 304 } 302 305 303 RTCCPHYSphysAddr = 0;304 VBGLPHYSHEAPCHUNK *pChunk = (VBGLPHYSHEAPCHUNK *)RTMemContAlloc (&physAddr, cbSize);306 physAddr = 0; 307 pChunk = (VBGLPHYSHEAPCHUNK *)RTMemContAlloc (&physAddr, cbSize); 305 308 306 309 if (!pChunk) … … 317 320 318 321 /* Initialize the free block, which now occupies entire chunk. */ 319 VBGLPHYSHEAPBLOCK *pBlock = (VBGLPHYSHEAPBLOCK *)((char *)pChunk + sizeof (VBGLPHYSHEAPCHUNK));322 pBlock = (VBGLPHYSHEAPBLOCK *)((char *)pChunk + sizeof (VBGLPHYSHEAPCHUNK)); 320 323 321 324 vbglPhysHeapInitBlock (pBlock, pChunk, cbSize - sizeof (VBGLPHYSHEAPCHUNK) - sizeof (VBGLPHYSHEAPBLOCK)); … … 333 336 void vbglPhysHeapChunkDelete (VBGLPHYSHEAPCHUNK *pChunk) 334 337 { 338 char *p; 335 339 VBGL_PH_ASSERT(pChunk != NULL); 336 340 VBGL_PH_ASSERTMsg(pChunk->u32Signature == VBGL_PH_CHUNKSIGNATURE, … … 341 345 /* first scan the chunk and exclude all blocks from lists */ 342 346 343 char *p = (char *)pChunk + sizeof (VBGLPHYSHEAPCHUNK);347 p = (char *)pChunk + sizeof (VBGLPHYSHEAPCHUNK); 344 348 345 349 while (p < (char *)pChunk + pChunk->cbSize) … … 383 387 DECLVBGL(void *) VbglPhysHeapAlloc (uint32_t cbSize) 384 388 { 389 VBGLPHYSHEAPBLOCK *pBlock; 385 390 int rc = vbglPhysHeapEnter (); 386 391 … … 392 397 dumpheap ("pre alloc"); 393 398 394 VBGLPHYSHEAPBLOCK *pBlock = NULL;399 pBlock = NULL; 395 400 396 401 /* If there are free blocks in the heap, look at them. */ … … 503 508 DECLVBGL(void) VbglPhysHeapFree (void *p) 504 509 { 510 VBGLPHYSHEAPBLOCK *pBlock; 511 VBGLPHYSHEAPBLOCK *pNeighbour; 505 512 int rc = vbglPhysHeapEnter (); 506 513 … … 512 519 dumpheap ("pre free"); 513 520 514 VBGLPHYSHEAPBLOCK *pBlock = vbglPhysHeapData2Block (p);521 pBlock = vbglPhysHeapData2Block (p); 515 522 516 523 if (!pBlock) … … 549 556 */ 550 557 551 VBGLPHYSHEAPBLOCK *pNeighbour = (VBGLPHYSHEAPBLOCK *)((char *)p + pBlock->cbDataSize);558 pNeighbour = (VBGLPHYSHEAPBLOCK *)((char *)p + pBlock->cbDataSize); 552 559 553 560 if ((char *)pNeighbour < (char *)pBlock->pChunk + pBlock->pChunk->cbSize -
trunk/src/VBox/Additions/common/VBoxGuestLib/SysHlp.cpp
r223 r719 38 38 39 39 #ifndef __WIN__ 40 extern "C" DECLVBGL(void *) vboxadd_cmc_open (void); 41 extern "C" DECLVBGL(void) vboxadd_cmc_close (void *); 42 extern "C" DECLVBGL(int) vboxadd_cmc_call (void *opaque, uint32_t func, void *data); 40 # ifdef __cplusplus 41 extern "C" { 42 # endif 43 extern DECLVBGL(void *) vboxadd_cmc_open (void); 44 extern DECLVBGL(void) vboxadd_cmc_close (void *); 45 extern DECLVBGL(int) vboxadd_cmc_call (void *opaque, uint32_t func, void *data); 46 # ifdef __cplusplus 47 } 48 # endif 43 49 #endif 44 50 … … 68 74 void *opaque; 69 75 70 opaque = vboxadd_cmc_open ();76 opaque = (void *) vboxadd_cmc_open (); 71 77 if (!opaque) 72 78 { -
trunk/src/VBox/Additions/common/VBoxGuestLib/VBGLInternal.h
r1 r719 24 24 #define __VBGLINTERNAL__H 25 25 26 /* I have added this include here as 27 a) This file is always included before VBGLInternal and 28 b) It contains a definition for VBGLHGCMHANDLE, so we definitely do not 29 need to redefine that here. The C (without ++) compiler was complaining 30 that it was defined twice. 31 */ 32 #include <VBox/VBoxGuestLib.h> 33 26 34 #if (defined(DEBUG) && !defined(NO_LOGGING)) || defined(LOG_ENABLED) 27 35 #include <VBox/log.h> … … 47 55 VBGLDRIVER driver; 48 56 }; 49 50 typedef struct VBGLHGCMHANDLEDATA *VBGLHGCMHANDLE;51 57 #endif 52 58 … … 60 66 typedef struct _VBGLDATA 61 67 { 62 VbglLibStatus status;68 enum VbglLibStatus status; 63 69 64 70 VBGLIOPORT portVMMDev; -
trunk/src/VBox/Additions/linux/module/Makefile
r1 r719 33 33 $(PATH_ROOT)/include/iprt/cdefs.h=>include/iprt/cdefs.h \ 34 34 $(PATH_ROOT)/include/iprt/err.h=>include/iprt/err.h \ 35 $(PATH_ROOT)/include/iprt/log.h=>include/iprt/log.h \ 35 36 $(PATH_ROOT)/include/iprt/mem.h=>include/iprt/mem.h \ 36 37 $(PATH_ROOT)/include/iprt/param.h=>include/iprt/param.h \ … … 42 43 $(PATH_ROOT)/include/VBox/cdefs.h=>include/VBox/cdefs.h \ 43 44 $(PATH_ROOT)/include/VBox/err.h=>include/VBox/err.h \ 45 $(PATH_ROOT)/include/VBox/log.h=>include/VBox/log.h \ 44 46 $(PATH_ROOT)/include/VBox/types.h=>include/VBox/types.h \ 45 47 $(PATH_ROOT)/include/VBox/ostypes.h=>include/VBox/ostypes.h \ 46 48 $(PATH_ROOT)/include/VBox/VBoxGuest.h=>include/VBox/VBoxGuest.h \ 47 49 $(PATH_ROOT)/include/VBox/VBoxGuestLib.h=>include/VBox/VBoxGuestLib.h \ 50 $(PATH_ROOT)/src/VBox/Additions/common/VBoxGuestLib/GenericRequest.cpp=>GenericRequest.c \ 51 $(PATH_ROOT)/src/VBox/Additions/common/VBoxGuestLib/HGCM.cpp=>HGCM.c \ 52 $(PATH_ROOT)/src/VBox/Additions/common/VBoxGuestLib/HGCMInternal.cpp=>HGCMInternal.c \ 53 $(PATH_ROOT)/src/VBox/Additions/common/VBoxGuestLib/Init.cpp=>Init.c \ 54 $(PATH_ROOT)/src/VBox/Additions/common/VBoxGuestLib/PhysHeap.cpp=>PhysHeap.c \ 55 $(PATH_ROOT)/src/VBox/Additions/common/VBoxGuestLib/PhysHeap.h=>PhysHeap.h \ 56 $(PATH_ROOT)/src/VBox/Additions/common/VBoxGuestLib/SysHlp.cpp=>SysHlp.c \ 57 $(PATH_ROOT)/src/VBox/Additions/common/VBoxGuestLib/SysHlp.h=>SysHlp.h \ 58 $(PATH_ROOT)/src/VBox/Additions/common/VBoxGuestLib/VBGLInternal.h=>VBGLInternal.h \ 59 $(PATH_ROOT)/src/VBox/Additions/common/VBoxGuestLib/VBoxCalls.c=>VBoxCalls.c \ 60 $(PATH_ROOT)/src/VBox/Additions/common/VBoxGuestLib/VBoxCalls.h=>VBoxCalls.h \ 61 $(PATH_ROOT)/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestLog.h=>VBoxGuestLog.h \ 62 $(PATH_ROOT)/src/VBox/Additions/common/VBoxGuestLib/VMMDev.cpp=>VMMDev.c \ 48 63 $(PATH_ROOT)/src/VBox/Runtime/r0drv/alloc-r0drv.cpp=>r0drv/alloc-r0drv.c \ 49 64 $(PATH_ROOT)/src/VBox/Runtime/r0drv/alloc-r0drv.h=>r0drv/alloc-r0drv.h \ … … 56 71 vboxmod.h=>vboxmod.h \ 57 72 waitcompat.h=>waitcompat.h \ 58 Makefile.module=>Makefile \ 59 $(PATH_OUT)/lib/VBoxGuestLibBaseLinux.a=>VBoxGuestLibBaseLinux.a 73 Makefile.module=>Makefile 60 74 61 75 # -
trunk/src/VBox/Additions/linux/module/Makefile.module
r411 r719 24 24 cmc.o \ 25 25 vboxmod.o \ 26 VBoxGuestLibBaseLinux.a \ 26 GenericRequest.o \ 27 SysHlp.o \ 28 PhysHeap.o \ 29 Init.o \ 30 VMMDev.o \ 31 HGCM.o \ 32 HGCMInternal.o \ 33 VBoxCalls.o \ 27 34 r0drv/alloc-r0drv.o \ 28 35 r0drv/linux/alloc-r0drv-linux.o \ … … 95 102 export INCL 96 103 endif 97 KFLAGS := -D__KERNEL__ -DMODULE -D__LINUX__ -DIN_RING0 -D_X86_ -DIN_RT_R0 -DIN_SUP_R0 -DVBGL_VBOXGUEST -DVBGL_HGCM -DVBOX_HGCM 104 KFLAGS := -D__KERNEL__ -DMODULE -D__LINUX__ -DIN_RING0 -D_X86_ -DIN_RT_R0 -DIN_SUP_R0 -DVBGL_VBOXGUEST -DVBGL_HGCM -DVBOX_HGCM -DLOG_TO_BACKDOOR 98 105 #ifeq ($(BUILD_TYPE),debug) - you'll have to enable this manually to get debug stuff. 99 106 #KFLAGS += -DDEBUG
Note:
See TracChangeset
for help on using the changeset viewer.