VirtualBox

Changeset 719 in vbox


Ignore:
Timestamp:
Feb 6, 2007 4:40:34 PM (18 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
18361
Message:

Changed the Linux Additions to compile everything from source (no more binaries linked in) and cleaned up those files to compile as plain C.

Location:
trunk/src/VBox/Additions
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/common/VBoxGuestLib/GenericRequest.cpp

    r1 r719  
    3434{
    3535    int rc = VbglEnter ();
     36    VMMDevRequestHeader *pReq;
    3637
    3738    if (VBOX_FAILURE(rc))
     
    4647    }
    4748
    48     VMMDevRequestHeader *pReq = (VMMDevRequestHeader *)VbglPhysHeapAlloc (cbSize);
     49    pReq = (VMMDevRequestHeader *)VbglPhysHeapAlloc (cbSize);
    4950
    5051    if (!pReq)
     
    7273DECLVBGL(int) VbglGRPerform (VMMDevRequestHeader *pReq)
    7374{
     75    RTCCPHYS physaddr;
    7476    int rc = VbglEnter ();
    7577
     
    8991    }
    9092
    91     RTCCPHYS physaddr = VbglPhysHeapGetPhysAddr (pReq);
     93    physaddr = VbglPhysHeapGetPhysAddr (pReq);
    9294
    9395    if (!physaddr)
  • trunk/src/VBox/Additions/common/VBoxGuestLib/HGCM.cpp

    r309 r719  
    8787}
    8888
    89 VBGLHGCMHANDLEDATA *vbglHGCMHandleAlloc (void)
    90 {
     89struct VBGLHGCMHANDLEDATA *vbglHGCMHandleAlloc (void)
     90{
     91    struct VBGLHGCMHANDLEDATA *p;
    9192    int rc = vbglHandleHeapEnter ();
    9293
     
    9697    }
    9798
    98     VBGLHGCMHANDLEDATA *p = NULL;
     99    p = NULL;
    99100
    100101    /** Simple linear search in array. This will be called not so often, only connect/disconnect.
     
    124125}
    125126
    126 void vbglHGCMHandleFree (VBGLHGCMHANDLEDATA *pHandle)
    127 {
     127void vbglHGCMHandleFree (struct VBGLHGCMHANDLEDATA *pHandle)
     128{
     129    int rc;
     130
    128131    if (!pHandle)
    129132    {
     
    131134    }
    132135
    133     int rc = vbglHandleHeapEnter ();
     136    rc = vbglHandleHeapEnter ();
    134137
    135138    if (VBOX_FAILURE (rc))
     
    141144                        ("Freeing not allocated handle.\n"));
    142145
    143     memset(pHandle, 0, sizeof (VBGLHGCMHANDLEDATA));
     146    memset(pHandle, 0, sizeof (struct VBGLHGCMHANDLEDATA));
    144147
    145148    vbglHandleHeapLeave ();
     
    150153DECLVBGL(int) VbglHGCMConnect (VBGLHGCMHANDLE *pHandle, VBoxGuestHGCMConnectInfo *pData)
    151154{
     155    int rc;
     156    struct VBGLHGCMHANDLEDATA *pHandleData;
     157
    152158    if (!pHandle || !pData)
    153159    {
     
    155161    }
    156162
    157     VBGLHGCMHANDLEDATA *pHandleData = vbglHGCMHandleAlloc ();
    158 
    159     int rc = VINF_SUCCESS;
     163    pHandleData = vbglHGCMHandleAlloc ();
     164
     165    rc = VINF_SUCCESS;
    160166
    161167    if (!pHandleData)
     
    212218    rc = vbglDriverIOCtl (&handle->driver, IOCTL_VBOXGUEST_HGCM_CALL, pData, cbData);
    213219
    214     dprintf(("vbglDriverIOCtl rc = %Vrc\n", rc));
    215 
    216220    return rc;
    217221}
  • trunk/src/VBox/Additions/common/VBoxGuestLib/HGCMInternal.cpp

    r1 r719  
    5454                               uint32_t u32AsyncData)
    5555{
     56    VMMDevHGCMConnect *pHGCMConnect;
    5657    if (!pConnectInfo || !pAsyncCallback)
    5758    {
     
    5960    }
    6061
    61     VMMDevHGCMConnect *pHGCMConnect = NULL;
     62    pHGCMConnect = NULL;
    6263
    6364    /* Allocate request */
     
    102103                                  VBGLHGCMCALLBACK *pAsyncCallback, void *pvAsyncData, uint32_t u32AsyncData)
    103104{
     105    VMMDevHGCMDisconnect *pHGCMDisconnect;
    104106    if (!pDisconnectInfo || !pAsyncCallback)
    105107    {
     
    107109    }
    108110
    109     VMMDevHGCMDisconnect *pHGCMDisconnect = NULL;
     111    pHGCMDisconnect = NULL;
    110112
    111113    /* Allocate request */
     
    144146                            VBGLHGCMCALLBACK *pAsyncCallback, void *pvAsyncData, uint32_t u32AsyncData)
    145147{
     148    VMMDevHGCMCall *pHGCMCall;
    146149    if (!pCallInfo || !pAsyncCallback)
    147150    {
     
    151154    dprintf (("VbglHGCMCall: pCallInfo->cParms = %d, pHGCMCall->u32Function = %d\n", pCallInfo->cParms, pCallInfo->u32Function));
    152155
    153     VMMDevHGCMCall *pHGCMCall = NULL;
     156    pHGCMCall = NULL;
    154157
    155158    uint32_t cbParms = pCallInfo->cParms * sizeof (HGCMFunctionParameter);
  • trunk/src/VBox/Additions/common/VBoxGuestLib/PhysHeap.cpp

    r309 r719  
    287287static VBGLPHYSHEAPBLOCK *vbglPhysHeapChunkAlloc (uint32_t cbSize)
    288288{
     289    RTCCPHYS physAddr;
     290    VBGLPHYSHEAPCHUNK *pChunk;
     291    VBGLPHYSHEAPBLOCK *pBlock;
    289292    VBGL_PH_dprintf(("Allocating new chunk of size %d\n", cbSize));
    290293
     
    301304    }
    302305
    303     RTCCPHYS physAddr = 0;
    304     VBGLPHYSHEAPCHUNK *pChunk = (VBGLPHYSHEAPCHUNK *)RTMemContAlloc (&physAddr, cbSize);
     306    physAddr = 0;
     307    pChunk = (VBGLPHYSHEAPCHUNK *)RTMemContAlloc (&physAddr, cbSize);
    305308
    306309    if (!pChunk)
     
    317320
    318321    /* Initialize the free block, which now occupies entire chunk. */
    319     VBGLPHYSHEAPBLOCK *pBlock = (VBGLPHYSHEAPBLOCK *)((char *)pChunk + sizeof (VBGLPHYSHEAPCHUNK));
     322    pBlock = (VBGLPHYSHEAPBLOCK *)((char *)pChunk + sizeof (VBGLPHYSHEAPCHUNK));
    320323
    321324    vbglPhysHeapInitBlock (pBlock, pChunk, cbSize - sizeof (VBGLPHYSHEAPCHUNK) - sizeof (VBGLPHYSHEAPBLOCK));
     
    333336void vbglPhysHeapChunkDelete (VBGLPHYSHEAPCHUNK *pChunk)
    334337{
     338    char *p;
    335339    VBGL_PH_ASSERT(pChunk != NULL);
    336340    VBGL_PH_ASSERTMsg(pChunk->u32Signature == VBGL_PH_CHUNKSIGNATURE,
     
    341345    /* first scan the chunk and exclude all blocks from lists */
    342346
    343     char *p = (char *)pChunk + sizeof (VBGLPHYSHEAPCHUNK);
     347    p = (char *)pChunk + sizeof (VBGLPHYSHEAPCHUNK);
    344348
    345349    while (p < (char *)pChunk + pChunk->cbSize)
     
    383387DECLVBGL(void *) VbglPhysHeapAlloc (uint32_t cbSize)
    384388{
     389    VBGLPHYSHEAPBLOCK *pBlock;
    385390    int rc = vbglPhysHeapEnter ();
    386391
     
    392397    dumpheap ("pre alloc");
    393398
    394     VBGLPHYSHEAPBLOCK *pBlock = NULL;
     399    pBlock = NULL;
    395400
    396401    /* If there are free blocks in the heap, look at them. */
     
    503508DECLVBGL(void) VbglPhysHeapFree (void *p)
    504509{
     510    VBGLPHYSHEAPBLOCK *pBlock;
     511    VBGLPHYSHEAPBLOCK *pNeighbour;
    505512    int rc = vbglPhysHeapEnter ();
    506513
     
    512519    dumpheap ("pre free");
    513520
    514     VBGLPHYSHEAPBLOCK *pBlock = vbglPhysHeapData2Block (p);
     521    pBlock = vbglPhysHeapData2Block (p);
    515522
    516523    if (!pBlock)
     
    549556     */
    550557
    551     VBGLPHYSHEAPBLOCK *pNeighbour = (VBGLPHYSHEAPBLOCK *)((char *)p + pBlock->cbDataSize);
     558    pNeighbour = (VBGLPHYSHEAPBLOCK *)((char *)p + pBlock->cbDataSize);
    552559
    553560    if ((char *)pNeighbour < (char *)pBlock->pChunk + pBlock->pChunk->cbSize
  • trunk/src/VBox/Additions/common/VBoxGuestLib/SysHlp.cpp

    r223 r719  
    3838
    3939#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
     41extern "C" {
     42# endif
     43extern DECLVBGL(void *) vboxadd_cmc_open (void);
     44extern DECLVBGL(void) vboxadd_cmc_close (void *);
     45extern DECLVBGL(int) vboxadd_cmc_call (void *opaque, uint32_t func, void *data);
     46# ifdef __cplusplus
     47}
     48# endif
    4349#endif
    4450
     
    6874    void *opaque;
    6975
    70     opaque = vboxadd_cmc_open ();
     76    opaque = (void *) vboxadd_cmc_open ();
    7177    if (!opaque)
    7278    {
  • trunk/src/VBox/Additions/common/VBoxGuestLib/VBGLInternal.h

    r1 r719  
    2424#define __VBGLINTERNAL__H
    2525
     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
    2634#if (defined(DEBUG) && !defined(NO_LOGGING)) || defined(LOG_ENABLED)
    2735#include <VBox/log.h>
     
    4755    VBGLDRIVER driver;
    4856};
    49 
    50 typedef struct VBGLHGCMHANDLEDATA *VBGLHGCMHANDLE;
    5157#endif
    5258
     
    6066typedef struct _VBGLDATA
    6167{
    62     VbglLibStatus status;
     68    enum VbglLibStatus status;
    6369
    6470    VBGLIOPORT portVMMDev;
  • trunk/src/VBox/Additions/linux/module/Makefile

    r1 r719  
    3333        $(PATH_ROOT)/include/iprt/cdefs.h=>include/iprt/cdefs.h \
    3434        $(PATH_ROOT)/include/iprt/err.h=>include/iprt/err.h \
     35        $(PATH_ROOT)/include/iprt/log.h=>include/iprt/log.h \
    3536        $(PATH_ROOT)/include/iprt/mem.h=>include/iprt/mem.h \
    3637        $(PATH_ROOT)/include/iprt/param.h=>include/iprt/param.h \
     
    4243        $(PATH_ROOT)/include/VBox/cdefs.h=>include/VBox/cdefs.h \
    4344        $(PATH_ROOT)/include/VBox/err.h=>include/VBox/err.h \
     45        $(PATH_ROOT)/include/VBox/log.h=>include/VBox/log.h \
    4446        $(PATH_ROOT)/include/VBox/types.h=>include/VBox/types.h \
    4547        $(PATH_ROOT)/include/VBox/ostypes.h=>include/VBox/ostypes.h \
    4648        $(PATH_ROOT)/include/VBox/VBoxGuest.h=>include/VBox/VBoxGuest.h \
    4749        $(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 \
    4863        $(PATH_ROOT)/src/VBox/Runtime/r0drv/alloc-r0drv.cpp=>r0drv/alloc-r0drv.c \
    4964        $(PATH_ROOT)/src/VBox/Runtime/r0drv/alloc-r0drv.h=>r0drv/alloc-r0drv.h \
     
    5671        vboxmod.h=>vboxmod.h \
    5772        waitcompat.h=>waitcompat.h \
    58         Makefile.module=>Makefile \
    59         $(PATH_OUT)/lib/VBoxGuestLibBaseLinux.a=>VBoxGuestLibBaseLinux.a
     73        Makefile.module=>Makefile
    6074
    6175#
  • trunk/src/VBox/Additions/linux/module/Makefile.module

    r411 r719  
    2424        cmc.o \
    2525        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 \
    2734        r0drv/alloc-r0drv.o \
    2835        r0drv/linux/alloc-r0drv-linux.o \
     
    95102 export INCL
    96103endif
    97 KFLAGS   := -D__KERNEL__ -DMODULE -D__LINUX__ -DIN_RING0 -D_X86_ -DIN_RT_R0 -DIN_SUP_R0 -DVBGL_VBOXGUEST -DVBGL_HGCM -DVBOX_HGCM
     104KFLAGS   := -D__KERNEL__ -DMODULE -D__LINUX__ -DIN_RING0 -D_X86_ -DIN_RT_R0 -DIN_SUP_R0 -DVBGL_VBOXGUEST -DVBGL_HGCM -DVBOX_HGCM -DLOG_TO_BACKDOOR
    98105#ifeq ($(BUILD_TYPE),debug) - you'll have to enable this manually to get debug stuff.
    99106#KFLAGS   += -DDEBUG
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette