VirtualBox

Changeset 24386 in vbox


Ignore:
Timestamp:
Nov 5, 2009 2:17:10 PM (15 years ago)
Author:
vboxsync
Message:

Solaris/r0drv: Merge VBI into IPRT.

Location:
trunk
Files:
11 deleted
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/Config.kmk

    r24385 r24386  
    393393VBOX_WITH_NEW_USB_CODE_ON_DARWIN=1
    394394# Enable USB code that relies on USBA driver election callback & our own USB client driver on Solaris.
    395 #ifdef VBOX_WITH_USB
    396 # VBOX_WITH_NEW_USB_CODE_ON_SOLARIS=1
    397 #endif
     395ifdef VBOX_WITH_USB
     396VBOX_WITH_NEW_USB_CODE_ON_SOLARIS=1
     397endif
    398398# Enable the hal/sysfs USB code on Linux.  This depends on VBOX_WITH_DBUS.
    399399ifdef VBOX_WITH_DBUS
     
    401401endif
    402402# Use the new VBI module on Solaris.
    403 VBOX_WITH_SOLARIS_VBI = 1
     403#VBOX_WITH_SOLARIS_VBI = 1
    404404# Enable 64 bits guest pointers.
    405405VBOX_WITH_64_BITS_GUESTS = 1
     
    23172317TEMPLATE_VBOXR0DRV_INCS                = $(VBOX_SOLARIS_SYS_INCS)
    23182318TEMPLATE_VBOXR0DRV_LDFLAGS             = -r -dy
    2319 ifdef VBOX_WITH_SOLARIS_VBI
    2320  TEMPLATE_VBOXR0DRV_LDFLAGS           += -N misc/vbi
    2321 endif
    23222319TEMPLATE_VBOXR0DRV_LDFLAGS.amd64       = -64
    23232320# Exclude -Wall because of solaris headers' pragma ident warnings that gcc refuses to supress.
     
    36253622ifeq ($(KBUILD_TARGET),solaris) # No VBI for the guest additions yet.
    36263623 TEMPLATE_VBOXGUESTR0_LDFLAGS    = -r -dy
    3627 # ifdef VBOX_WITH_SOLARIS_VBI
    3628 #  TEMPLATE_VBOXGUESTR0DRV_LDFLAGS += -N misc/vbi
    3629 # endif
    36303624endif
    36313625
  • trunk/src/VBox/Runtime/Makefile.kmk

    r24189 r24386  
    11351135RuntimeR0Drv_INCS.linux = \
    11361136        r0drv/linux
    1137 ifdef VBOX_WITH_SOLARIS_VBI
    1138  RuntimeR0Drv_INCS.solaris = \
    1139         r0drv/solaris/vbi/i86pc
    1140 endif
     1137RuntimeR0Drv_INCS.solaris = \
     1138        r0drv/solaris/vbi/i86pc \
     1139        r0drv/solaris/vbi/i86pc/sys
    11411140
    11421141RuntimeR0Drv_SOURCES    = \
     
    14231422        r0drv/solaris/spinlock-r0drv-solaris.c
    14241423
    1425 ifdef VBOX_WITH_SOLARIS_VBI
     1424 # VBI is now compiled into IPRT
    14261425 RuntimeR0Drv_SOURCES.solaris += \
    14271426        r0drv/solaris/vbi/RTMpPokeCpu-r0drv-solaris.c \
     
    14341433        r0drv/solaris/vbi/thread2-r0drv-solaris.c \
    14351434        r0drv/solaris/vbi/time-r0drv-solaris.c \
    1436         r0drv/solaris/vbi/timer-r0drv-solaris.c
    1437 else  # !VBOX_WITH_SOLARIS_VBI
    1438  RuntimeR0Drv_SOURCES.solaris += \
    1439         r0drv/solaris/mpnotification-r0drv-solaris.c \
    1440         r0drv/solaris/alloc-r0drv-solaris.c \
    1441         r0drv/solaris/memobj-r0drv-solaris.c \
    1442         r0drv/solaris/process-r0drv-solaris.c \
    1443         r0drv/solaris/thread-r0drv-solaris.c \
    1444         r0drv/solaris/thread2-r0drv-solaris.c \
    1445         r0drv/solaris/time-r0drv-solaris.c \
    1446         r0drv/solaris/timer-r0drv-solaris.c
    1447  # Don't use mp-r0drv-solaris.c because it will cause crashes due to incorrect memobj-r0drv-solaris.c code.
    1448  ifeq (0,0)
    1449   # Stub it. ## @todo limit the stubbing to RTMpOn*.
    1450   RuntimeR0Drv_SOURCES.solaris += \
    1451         generic/RTMpCpuId-generic.cpp \
    1452         generic/RTMpCpuIdFromSetIndex-generic.cpp \
    1453         generic/RTMpCpuIdToSetIndex-generic.cpp \
    1454         generic/RTMpIsCpuPossible-generic.cpp \
    1455         generic/RTMpGetCount-generic.cpp \
    1456         generic/RTMpGetMaxCpuId-generic.cpp \
    1457         generic/RTMpGetOnlineCount-generic.cpp \
    1458         generic/RTMpGetOnlineSet-generic.cpp \
    1459         generic/RTMpGetSet-generic.cpp \
    1460         generic/RTMpIsCpuOnline-generic.cpp \
    1461         r0drv/generic/RTMpIsCpuWorkPending-r0drv-generic.cpp \
    1462         r0drv/generic/RTMpOn-r0drv-generic.cpp \
    1463         r0drv/solaris/RTMpPokeCpu-r0drv-solaris.c
    1464  else
    1465   # Use mp-r0drv-solaris.c.
    1466   RuntimeR0Drv_SOURCES.solaris += \
    1467         r0drv/solaris/mp-r0drv-solaris.c \
    1468         r0drv/solaris/RTMpPokeCpu-r0drv-solaris.c
    1469 #       r0drv/solaris/mpnotification-r0drv-solaris.c
    1470  endif
    1471 
    1472 endif # !VBOX_WITH_SOLARIS_VBI
     1435        r0drv/solaris/vbi/timer-r0drv-solaris.c \
     1436        r0drv/solaris/vbi/i86pc/os/vbi.c
     1437
    14731438
    14741439## PORTME: Porters create and add their selection of platform specific Ring-0 Driver files here.
     
    14911456RuntimeGuestR0_EXTENDS    = RuntimeR0Drv
    14921457
    1493 # HACK: no vbi for the solaris guest additions - yet.
    1494 RuntimeGuestR0_SOURCES.solaris = \
    1495         common/err/RTErrConvertFromErrno.cpp \
    1496         common/err/RTErrConvertToErrno.cpp \
    1497         common/misc/thread.cpp \
    1498         common/string/memchr.asm \
    1499         generic/RTAssertShouldPanic-generic.cpp \
    1500         generic/RTTimerCreate-generic.cpp \
    1501         r0drv/memobj-r0drv.cpp \
    1502         generic/RTMpCpuId-generic.cpp \
    1503         generic/RTMpCpuIdFromSetIndex-generic.cpp \
    1504         generic/RTMpCpuIdToSetIndex-generic.cpp \
    1505         generic/RTMpIsCpuPossible-generic.cpp \
    1506         generic/RTMpGetCount-generic.cpp \
    1507         generic/RTMpGetMaxCpuId-generic.cpp \
    1508         generic/RTMpGetOnlineCount-generic.cpp \
    1509         generic/RTMpGetOnlineSet-generic.cpp \
    1510         generic/RTMpGetSet-generic.cpp \
    1511         generic/RTMpIsCpuOnline-generic.cpp \
    1512         generic/RTLogWriteStdOut-stub-generic.cpp \
    1513         generic/mppresent-generic.cpp \
    1514         r0drv/generic/RTMpIsCpuWorkPending-r0drv-generic.cpp \
    1515         r0drv/generic/RTMpOn-r0drv-generic.cpp \
    1516         r0drv/generic/RTMpPokeCpu-r0drv-generic.cpp \
    1517         r0drv/generic/mpnotification-r0drv-generic.cpp \
    1518         r0drv/solaris/alloc-r0drv-solaris.c \
    1519         r0drv/solaris/assert-r0drv-solaris.c \
    1520         r0drv/solaris/initterm-r0drv-solaris.c \
    1521         r0drv/solaris/memobj-r0drv-solaris.c \
    1522         r0drv/solaris/process-r0drv-solaris.c \
    1523         r0drv/solaris/RTLogWriteDebugger-r0drv-solaris.c \
    1524         r0drv/solaris/semevent-r0drv-solaris.c \
    1525         r0drv/solaris/semeventmulti-r0drv-solaris.c \
    1526         r0drv/solaris/semfastmutex-r0drv-solaris.c \
    1527         r0drv/solaris/spinlock-r0drv-solaris.c \
    1528         r0drv/solaris/thread-r0drv-solaris.c \
    1529         r0drv/solaris/thread2-r0drv-solaris.c \
    1530         r0drv/solaris/time-r0drv-solaris.c \
    1531         r0drv/solaris/timer-r0drv-solaris.c
    15321458
    15331459#
  • trunk/src/VBox/Runtime/r0drv/solaris/initterm-r0drv-solaris.c

    r22556 r24386  
    5252{
    5353    /*
    54      * Detech whether spl*() is preserving the interrupt flag or not.
    55      * This is a problem on S10.
     54     * Initialize vbi (keeping it separate for now)
    5655     */
    57     RTCCUINTREG uOldFlags = ASMIntDisableFlags();
    58     int iOld = splr(DISP_LEVEL);
    59     if (ASMIntAreEnabled())
    60         g_frtSolarisSplSetsEIF = true;
    61     splx(iOld);
    62     if (ASMIntAreEnabled())
    63         g_frtSolarisSplSetsEIF = true;
    64     ASMSetFlags(uOldFlags);
     56    int rc = vbi_init();
     57    if (!rc)
     58    {
     59        /*
     60         * Detech whether spl*() is preserving the interrupt flag or not.
     61         * This is a problem on S10.
     62         */
     63        RTCCUINTREG uOldFlags = ASMIntDisableFlags();
     64        int iOld = splr(DISP_LEVEL);
     65        if (ASMIntAreEnabled())
     66            g_frtSolarisSplSetsEIF = true;
     67        splx(iOld);
     68        if (ASMIntAreEnabled())
     69            g_frtSolarisSplSetsEIF = true;
     70        ASMSetFlags(uOldFlags);
    6571
    66     return VINF_SUCCESS;
     72        return VINF_SUCCESS;
     73    }
     74    cmn_err(CE_NOTE, "vbi_init failed. rc=%d\n", rc);
     75    return VERR_GENERAL_FAILURE;
    6776}
    6877
  • trunk/src/VBox/Runtime/r0drv/solaris/the-solaris-kernel.h

    r22991 r24386  
    5959#include <sys/spl.h>
    6060#include <sys/archsystm.h>
     61#include "vbi.h"
    6162
    6263#undef u /* /usr/include/sys/user.h:249:1 is where this is defined to (curproc->p_user). very cool. */
     
    6667
    6768RT_C_DECLS_BEGIN
    68 extern bool                 g_frtSolarisSplSetsEIF;
    69 extern struct ddi_dma_attr  g_SolarisX86PhysMemLimits;
     69extern bool g_frtSolarisSplSetsEIF;
     70extern struct ddi_dma_attr g_SolarisX86PhysMemLimits;
    7071extern uintptr_t kernelbase;
     72extern RTCPUSET g_rtMpSolarisCpuSet;
    7173RT_C_DECLS_END
    7274
  • trunk/src/VBox/Runtime/r0drv/solaris/vbi/RTMpPokeCpu-r0drv-solaris.c

    r22073 r24386  
    3333*   Header Files                                                               *
    3434*******************************************************************************/
    35 #include "the-solaris-kernel.h"
     35#include "../the-solaris-kernel.h"
    3636#include "internal/iprt.h"
    3737#include <iprt/mp.h>
  • trunk/src/VBox/Runtime/r0drv/solaris/vbi/alloc-r0drv-solaris.c

    r22073 r24386  
    3333*   Header Files                                                               *
    3434*******************************************************************************/
    35 #include "the-solaris-kernel.h"
     35#include "../the-solaris-kernel.h"
    3636#include "internal/iprt.h"
    3737#include <iprt/mem.h>
  • trunk/src/VBox/Runtime/r0drv/solaris/vbi/i86pc/os/vbi.c

    r21452 r24386  
    187187/* End of v6 intro */
    188188
    189 
     189#if 0
    190190int
    191191_init(void)
     192{
     193    int err = vbi_init();
     194    if (!err)
     195        err = mod_install(&vbi_modlinkage);
     196        return (err);
     197}
     198#endif
     199
     200int
     201vbi_init(void)
    192202{
    193203        int err;
     
    266276                return EINVAL;
    267277        }
    268 
    269         err = mod_install(&vbi_modlinkage);
    270         if (err != 0)
    271                 return (err);
    272 
    273278        return (0);
    274279}
    275280
     281#if 0
    276282int
    277283_fini(void)
     
    289295        return (mod_info(&vbi_modlinkage, modinfop));
    290296}
     297#endif
     298
    291299
    292300static ddi_dma_attr_t base_attr = {
  • trunk/src/VBox/Runtime/r0drv/solaris/vbi/memobj-r0drv-solaris.c

    r24247 r24386  
    3333*   Header Files                                                               *
    3434*******************************************************************************/
    35 #include "the-solaris-kernel.h"
     35#include "../the-solaris-kernel.h"
    3636#include "internal/iprt.h"
    3737#include <iprt/memobj.h>
  • trunk/src/VBox/Runtime/r0drv/solaris/vbi/mp-r0drv-solaris.c

    r22347 r24386  
    3333*   Header Files                                                               *
    3434*******************************************************************************/
    35 #include "the-solaris-kernel.h"
     35#include "../the-solaris-kernel.h"
    3636#include "internal/iprt.h"
    3737#include <iprt/mp.h>
     38#include <iprt/cpuset.h>
    3839
    3940#include <iprt/asm.h>
    4041#include <iprt/err.h>
    41 #include "internal-r0drv-solaris.h"
    4242#include "r0drv/mp-r0drv.h"
    4343
  • trunk/src/VBox/Runtime/r0drv/solaris/vbi/mpnotification-r0drv-solaris.c

    r22439 r24386  
    3232*   Header Files                                                               *
    3333*******************************************************************************/
    34 #include "the-solaris-kernel.h"
     34#include "../the-solaris-kernel.h"
    3535#include "internal/iprt.h"
    3636
    3737#include <iprt/err.h>
    3838#include <iprt/mp.h>
     39#include <iprt/cpuset.h>
    3940#include "r0drv/mp-r0drv.h"
    40 #include "internal-r0drv-solaris.h"
    4141
    4242
  • trunk/src/VBox/Runtime/r0drv/solaris/vbi/process-r0drv-solaris.c

    r22073 r24386  
    3333*   Header Files                                                               *
    3434*******************************************************************************/
    35 #include "the-solaris-kernel.h"
     35#include "../the-solaris-kernel.h"
    3636#include "internal/iprt.h"
    3737#include <iprt/process.h>
  • trunk/src/VBox/Runtime/r0drv/solaris/vbi/thread-r0drv-solaris.c

    r23505 r24386  
    3333*   Header Files                                                               *
    3434*******************************************************************************/
    35 #include "the-solaris-kernel.h"
     35#include "../the-solaris-kernel.h"
    3636#include "internal/iprt.h"
    3737#include <iprt/thread.h>
  • trunk/src/VBox/Runtime/r0drv/solaris/vbi/thread2-r0drv-solaris.c

    r22073 r24386  
    3333*   Header Files                                                               *
    3434*******************************************************************************/
    35 #include "the-solaris-kernel.h"
     35#include "../the-solaris-kernel.h"
    3636#include "internal/iprt.h"
    3737#include <iprt/thread.h>
  • trunk/src/VBox/Runtime/r0drv/solaris/vbi/time-r0drv-solaris.c

    r22073 r24386  
    3434*******************************************************************************/
    3535#define RTTIME_INCL_TIMESPEC
    36 #include "the-solaris-kernel.h"
     36#include "../the-solaris-kernel.h"
    3737#include "internal/iprt.h"
    3838#include <iprt/time.h>
  • trunk/src/VBox/Runtime/r0drv/solaris/vbi/timer-r0drv-solaris.c

    r22073 r24386  
    3333*   Header Files                                                               *
    3434*******************************************************************************/
    35 #include "the-solaris-kernel.h"
     35#include "../the-solaris-kernel.h"
    3636#include "internal/iprt.h"
    3737#include <iprt/timer.h>
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