VirtualBox

Changeset 6536 in vbox


Ignore:
Timestamp:
Jan 28, 2008 7:44:43 PM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
27563
Message:

Runtime: added a reduced ("shared") R3 guest runtime which will work without initialisation for use in the X server process, where several drivers may share the runtime

Location:
trunk/src/VBox/Runtime
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/Makefile.kmk

    r6361 r6536  
    3434 #
    3535 ifeq ($(BUILD_TARGET),linux)
    36   LIBRARIES  = RuntimeLnx32GuestR0 RuntimeLnx32GuestR3
     36  LIBRARIES  = RuntimeLnx32GuestR0 RuntimeLnx32GuestR3 RuntimeLnx32GuestR3Shared
    3737 else ifeq ($(BUILD_TARGET),os2)
    3838  LIBRARIES  = RuntimeOS2GuestR0 RuntimeOS2GuestR3 #RuntimeOS2Warp3GuestR0
     
    4040  LIBRARIES = RuntimeW32GuestR0 RuntimeW32GuestR3 RuntimeW32NT4GuestR0
    4141 else
    42   LIBRARIES = RuntimeGuestR0 RuntimeGuestR3
     42  LIBRARIES = RuntimeGuestR0 RuntimeGuestR3 RuntimeGuestR3Shared
    4343  #LIBRARIES.os2 = RuntimeOS2Warp3GuestR0
    4444  #LIBRARIES.win = RuntimeW32NT4GuestR0
     
    4949 #
    5050else ifdef VBOX_ADDITIONS_LINUX_ONLY
    51  LIBRARIES  = RuntimeLnx32GuestR0 RuntimeLnx32GuestR3
     51 LIBRARIES  = RuntimeLnx32GuestR0 RuntimeLnx32GuestR3 RuntimeLnx32GuestR3Shared
    5252else ifdef VBOX_ADDITIONS_WIN32_ONLY
    5353 LIBRARIES = RuntimeW32GuestR0 RuntimeW32GuestR3 RuntimeW32NT4GuestR0
     
    6868   endif
    6969   ifdef VBOX_WITH_LINUX_ADDITIONS
    70     LIBRARIES += RuntimeLnx32GuestR3
     70    LIBRARIES += RuntimeLnx32GuestR3 RuntimeLnx32GuestR3Shared
    7171    ifdef VBOX_WITH_LINUX_ADDITIONS_32BIT_R0
    7272     LIBRARIES += RuntimeLnx32GuestR0
     
    7878   endif
    7979  else
    80    LIBRARIES += RuntimeGuestR0 RuntimeGuestR3
     80   LIBRARIES += RuntimeGuestR0 RuntimeGuestR3 RuntimeGuestR3Shared
    8181  endif
    8282  #LIBRARIES.os2 = RuntimeOS2Warp3GuestR0
     
    456456## PORTME: Porters add their selection of platform specific files for Ring-3 here.
    457457
     458RuntimeR3Shared_SOURCES       = \
     459        common/err/errmsg.cpp \
     460        common/err/RTErrConvertFromErrno.cpp \
     461        common/log/logformat.cpp \
     462        common/misc/assert.cpp \
     463        common/misc/sanity-c.c \
     464        common/misc/sanity-cpp.cpp \
     465        common/string/strformat.cpp \
     466        common/string/strformatrt.cpp \
     467        common/string/string.cpp \
     468        common/string/strprintf.cpp \
     469        common/string/unidata.cpp \
     470        common/string/utf-8.cpp \
     471        common/string/utf-16.cpp \
     472        generic/pathhost-generic.cpp \
     473        generic/RTAssertDoBreakpoint-generic.cpp \
     474        r3/alloc.cpp \
     475        r3/fileio.cpp \
     476        r3/fs.cpp \
     477        r3/path.cpp
     478
     479# VBox specific stuff.
     480RuntimeR3Shared_SOURCES += \
     481        VBox/strformat-vbox.cpp
     482
     483RuntimeR3Shared_SOURCES.linux = \
     484        r3/posix/fileio-posix.cpp \
     485        r3/posix/path-posix.cpp \
     486        r3/posix/utf8-posix.cpp
     487
     488
     489RuntimeR3Shared_SOURCES.solaris = \
     490        r3/posix/fileio-posix.cpp \
     491        r3/posix/path-posix.cpp \
     492        r3/posix/utf8-posix.cpp
     493
    458494
    459495#
     
    523559
    524560#
     561# RuntimeGuestR3Shared - Guest Additions Runtime (static) which does not require initialisation.
     562#
     563RuntimeGuestR3Shared_TEMPLATE             := VBOXGUESTR3LIB
     564RuntimeGuestR3Shared_SDKS.win             := $(RuntimeR3_SDKS.win)
     565RuntimeGuestR3Shared_DEFS                 := $(filter-out RTCRITSECT_STRICT, $(RuntimeR3_DEFS)) \
     566                                             VBOX_SHARED_RUNTIME
     567RuntimeGuestR3Shared_DEFS.$(BUILD_TARGET) := $(RuntimeR3_DEFS.$(BUILD_TARGET))
     568RuntimeGuestR3Shared_INCS                 := $(RuntimeR3_INCS)
     569RuntimeGuestR3Shared_INCS.$(BUILD_TARGET) := $(RuntimeR3_INCS.$(BUILD_TARGET))
     570RuntimeGuestR3Shared_SOURCES              := $(filter-out \
     571        generic/RTLogWriteUser-generic.cpp \
     572        , $(RuntimeR3Shared_SOURCES))
     573RuntimeGuestR3Shared_SOURCES              += \
     574        VBox/logbackdoor.cpp \
     575        VBox/logbackdoor-redirect.cpp
     576RuntimeGuestR3Shared_SOURCES.$(BUILD_TARGET) := $(RuntimeR3Shared_SOURCES.$(BUILD_TARGET))
     577RuntimeGuestR3Shared_SOURCES.$(BUILD_TARGET).$(BUILD_TARGET_ARCH) := $(RuntimeR3Shared_SOURCES.$(BUILD_TARGET).$(BUILD_TARGET_ARCH))
     578
     579
     580#
    525581# RuntimeW32GuestR3 - Win32 guest program runtime.
    526582#
     
    546602RuntimeLnx32GuestR3_SOURCES   += VBox/logbackdoor.cpp
    547603RuntimeLnx32GuestR3_INCS       = $(RuntimeR3_INCS.linux)    $(RuntimeR3_INCS)
     604
     605
     606#
     607# RuntimeLnx32GuestR3Shared - 32-bit Linux guest program runtime which does not require
     608# initialisation.
     609#
     610RuntimeLnx32GuestR3Shared_TEMPLATE   = VBOXLNX32GUESTR3LIB
     611RuntimeLnx32GuestR3Shared_DEFS       = IN_RT_R3 IN_SUP_R3 LDR_WITH_NATIVE LDR_WITH_ELF32 \
     612                                       LDR_WITH_PE RT_WITH_VBOX VBOX_SHARED_RUNTIME
     613ifdef IPRT_WITH_KSTUFF
     614 RuntimeLnx32GuestR3Shared_DEFS     += LDR_WITH_KLDR
     615endif
     616RuntimeLnx32GuestR3Shared_SOURCES    = $(RuntimeR3Shared_SOURCES.linux) $(RuntimeR3Shared_SOURCES)
     617RuntimeLnx32GuestR3Shared_SOURCES   += \
     618        VBox/logbackdoor.cpp \
     619        VBox/logbackdoor-redirect.cpp
     620RuntimeLnx32GuestR3Shared_INCS       = $(RuntimeR3_INCS.linux)    $(RuntimeR3_INCS)
    548621
    549622
  • trunk/src/VBox/Runtime/VBox/strformat-vbox.cpp

    r5999 r6536  
    139139             */
    140140            case 't':
    141 #ifdef IN_RING3                         /* we don't want this anywhere else yet. */
     141#if defined(IN_RING3) && !defined(VBOX_SHARED_RUNTIME)  /* we don't want this anywhere else yet. */
    142142                return RTStrFormat(pfnOutput, pvArgOutput, NULL, 0, "%#x\n", RTThreadSelf());
    143143#else /* !IN_RING3 */
  • trunk/src/VBox/Runtime/r3/path.cpp

    r5999 r6536  
    553553}
    554554
     555#ifndef VBOX_SHARED_RUNTIME
    555556
    556557/**
     
    685686#endif
    686687}
     688
     689#endif /* !VBOX_SHARED_RUNTIME */
  • trunk/src/VBox/Runtime/r3/posix/path-posix.cpp

    r5999 r6536  
    401401
    402402
     403#ifndef VBOX_SHARED_RUNTIME
     404
    403405RTDECL(int) RTPathProgram(char *pszPath, unsigned cchPath)
    404406{
     
    487489}
    488490
     491#endif /* !VBOX_SHARED_RUNTIME */
    489492
    490493#ifndef RT_OS_L4
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