VirtualBox

Changeset 37781 in vbox


Ignore:
Timestamp:
Jul 5, 2011 1:35:29 PM (14 years ago)
Author:
vboxsync
Message:

PCI passthrough fixes

Location:
trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/Config.kmk

    r37752 r37781  
    412412ifdef VBOX_WITH_EHCI
    413413 VBOX_WITH_EHCI_IMPL = 1
     414endif
     415ifdef VBOX_WITH_PCI_PASSTHROUGH
     416 VBOX_WITH_PCI_PASSTHROUGH_IMPL = 1
    414417endif
    415418# Enable the hal/sysfs USB code on Linux.
     
    926929 VBOX_WITH_EHCI_IMPL=
    927930 VBOX_WITH_EXTPACK_PUEL=
    928  VBOX_WITH_PCI_PASSTHROUGH=
     931 VBOX_WITH_PCI_PASSTHROUGH_IMPL=
    929932 VBOX_WITH_OS2_ADDITIONS_BIN=
    930933 VBOX_WITH_SECURELABEL=
  • trunk/include/VBox/vmm/pdmifs.h

    r37687 r37781  
    28882888     *               fi
    28892889     */
    2890     DECLR3CALLBACKMEMBER(int, pfnVHWACommandCompleteAsynch, (PPDMIDISPLAYVBVACALLBACKS pInterface, PVBOXVHWACMD pCmd));
    2891 
    2892     DECLR3CALLBACKMEMBER(int, pfnCrHgsmiCommandCompleteAsync, (PPDMIDISPLAYVBVACALLBACKS pInterface, PVBOXVDMACMD_CHROMIUM_CMD pCmd, int rc));
    2893 
    2894     DECLR3CALLBACKMEMBER(int, pfnCrHgsmiControlCompleteAsync, (PPDMIDISPLAYVBVACALLBACKS pInterface, PVBOXVDMACMD_CHROMIUM_CTL pCmd, int rc));
     2890    DECLR3CALLBACKMEMBER(int, pfnVHWACommandCompleteAsynch, (PPDMIDISPLAYVBVACALLBACKS pInterface,
     2891                                                             PVBOXVHWACMD pCmd));
     2892
     2893    DECLR3CALLBACKMEMBER(int, pfnCrHgsmiCommandCompleteAsync, (PPDMIDISPLAYVBVACALLBACKS pInterface,
     2894                                                               PVBOXVDMACMD_CHROMIUM_CMD pCmd, int rc));
     2895
     2896    DECLR3CALLBACKMEMBER(int, pfnCrHgsmiControlCompleteAsync, (PPDMIDISPLAYVBVACALLBACKS pInterface,
     2897                                                               PVBOXVDMACMD_CHROMIUM_CTL pCmd, int rc));
    28952898} PDMIDISPLAYVBVACALLBACKS;
    28962899/** PDMIDISPLAYVBVACALLBACKS  */
    2897 #define PDMIDISPLAYVBVACALLBACKS_IID     "b78b81d2-c821-4e66-96ff-dbafa76343a5"
     2900#define PDMIDISPLAYVBVACALLBACKS_IID            "b78b81d2-c821-4e66-96ff-dbafa76343a5"
     2901
     2902/** Pointer to a PCI raw connector interface. */
     2903typedef struct PDMIPCIRAWCONNECTOR *PPDMIPCIRAWCONNECTOR;
     2904/**
     2905 * PCI raw connector interface (up).
     2906 */
     2907typedef struct PDMIPCIRAWCONNECTOR
     2908{
     2909
     2910    /**
     2911     *
     2912     */
     2913    DECLR3CALLBACKMEMBER(int, pfnDeviceConstructComplete, (PPDMIPCIRAWCONNECTOR pInterface, const char *pcszName,
     2914                                                           uint32_t uHostPciAddress, uint32_t uGuestPciAddress,
     2915                                                           int rc));
     2916
     2917} PDMIPCIRAWCONNECTOR;
     2918/** PDMIPCIRAWCONNECTOR interface ID. */
     2919#define PDMIPCIRAWCONNECTOR_IID                 "14aa9c6c-8869-4782-9dfc-910071a6aebf"
    28982920
    28992921/** @} */
  • trunk/src/VBox/Devices/Makefile.kmk

    r37752 r37781  
    166166  VBoxDD_DEFS           += VBOX_WITH_VDE
    167167 endif
    168  ifdef VBOX_WITH_PCI_PASSTHROUGH
    169   VBoxDD_DEFS           += VBOX_WITH_PCI_PASSTHROUGH
     168 if defined(VBOX_WITH_PCI_PASSTHROUGH_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL)
     169  VBoxDD_DEFS           += VBOX_WITH_PCI_PASSTHROUGH_IMPL
    170170 endif
    171171
     
    270270        VBOX_HGCM_HOST_CODE \
    271271        VBOX_WITH_HGCM \
    272         $(if $(VBOX_BIOS_DMI_FALLBACK),VBOX_BIOS_DMI_FALLBACK,) \
    273         $(if $(VBOX_WITH_PCI_PASSTHROUGH),VBOX_WITH_PCI_PASSTHROUGH,)
     272        $(if $(VBOX_BIOS_DMI_FALLBACK),VBOX_BIOS_DMI_FALLBACK,)
    274273
    275274 DevicesR3_DEFS.linux   += _GNU_SOURCE
     
    287286        Bus/MsiCommon.cpp \
    288287        Bus/MsixCommon.cpp \
    289         $(if $(VBOX_WITH_PCI_PASSTHROUGH),Bus/DevPciRaw.cpp,) \
    290288        Graphics/DevVGA.cpp \
    291289        Storage/DevATA.cpp \
     
    455453  endif
    456454 endif
     455 if defined(VBOX_WITH_PCI_PASSTHROUGH_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL)
     456  DevicesR3_DEFS        += VBOX_WITH_PCI_PASSTHROUGH_IMPL
     457  DevicesR3_SOURCES     += \
     458        Bus/DevPciRaw.cpp
     459
     460 endif
    457461
    458462 ifdef VBOX_WITH_DTRACE_R3
     
    655659        Bus/MsiCommon.cpp \
    656660        Bus/MsixCommon.cpp \
    657         $(if $(VBOX_WITH_PCI_PASSTHROUGH),Bus/DevPciRaw.cpp,) \
    658661        Graphics/DevVGA.cpp \
    659662        Input/DevPS2.cpp \
     
    714717        USB/DevEHCI.cpp
    715718  endif
     719 endif
     720
     721 if defined(VBOX_WITH_PCI_PASSTHROUGH_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL)
     722  VBoxDDR0_SOURCES      +=
     723        Bus/DevPciRaw.cpp
    716724 endif
    717725
     
    11381146 #
    11391147 ServicesR0_TEMPLATE  = VBoxR0
    1140  ServicesR0_DEFS      = IN_INTNET_R0 IN_RT_R0 $(if $(VBOX_WITH_PCI_PASSTHROUGH),IN_PCIRAW_R0,)
     1148 ServicesR0_DEFS      = IN_INTNET_R0 IN_RT_R0 $(if $(VBOX_WITH_PCI_PASSTHROUGH_IMPL),IN_PCIRAW_R0,)
    11411149 ServicesR0_SOURCES   = \
    11421150        Network/SrvIntNetR0.cpp \
    1143         $(if $(VBOX_WITH_PCI_PASSTHROUGH),Bus/SrvPciRawR0.cpp,)
     1151        $(if $(VBOX_WITH_PCI_PASSTHROUGH_IMPL),Bus/SrvPciRawR0.cpp,)
    11441152 Network/SrvIntNetR0.cpp_CXXFLAGS := $(if-expr $(KBUILD_TARGET) == "win",,$(VBOX_GCC_Wno-array_bounds))
    11451153
     
    12091217 endif
    12101218
     1219 if defined(VBOX_WITH_PCI_PASSTHROUGH)
     1220  DLLS += VBoxPciRawR3
     1221  VBoxPciRawR3_TEMPLATE = VBoxR3ExtPackPuel
     1222  VBoxPciRawR3_SOURCES  = Bus/DevPciRaw.cpp
     1223
     1224  DLLS += VBoxPciRawDrv
     1225  VBoxPciRawDrv_TEMPLATE = VBoxR3ExtPackPuel
     1226  VBoxPciRawDrv_SOURCES = Bus/DrvPciRaw.cpp
     1227
     1228  SYSMODS += VBoxPciRawR0
     1229  VBoxPciRawR0_TEMPLATE = VBoxR0ExtPackPuel
     1230  VBoxPciRawR0_SOURCES  = Bus/DevPciRaw.cpp
     1231 endif
     1232
    12111233 #
    12121234 # The Intel PXE rom.
  • trunk/src/VBox/Devices/build/VBoxDD.cpp

    r37752 r37781  
    180180#endif
    181181
    182 #ifdef VBOX_WITH_PCI_PASSTHROUGH
     182#ifdef VBOX_WITH_PCI_PASSTHROUGH_IMPL
    183183    rc = pCallbacks->pfnRegister(pCallbacks, &g_DevicePciRaw);
    184184    if (RT_FAILURE(rc))
     
    230230    if (RT_FAILURE(rc))
    231231        return rc;
    232 #ifndef RT_OS_L4
    233232    rc = pCallbacks->pfnRegister(pCallbacks, &g_DrvNAT);
    234233    if (RT_FAILURE(rc))
    235234        return rc;
    236 #endif
    237235#if defined(RT_OS_LINUX) || defined(RT_OS_FREEBSD)
    238236    rc = pCallbacks->pfnRegister(pCallbacks, &g_DrvHostInterface);
     
    275273#endif
    276274
    277 #if !defined(RT_OS_L4)
    278275    rc = pCallbacks->pfnRegister(pCallbacks, &g_DrvNamedPipe);
    279276    if (RT_FAILURE(rc))
     
    285282    if (RT_FAILURE(rc))
    286283        return rc;
    287 #endif
    288284
    289285#if defined(RT_OS_LINUX)
     
    315311    rc = pCallbacks->pfnRegister(pCallbacks, &g_DrvDiskIntegrity);
    316312    if (RT_FAILURE(rc))
     313        return rc;
     314#endif
     315
     316#ifdef VBOX_WITH_PCI_PASSTHROUGH_IMPL
     317    rc = pCallbacks->pfnRegister(pCallbacks, &g_DrvPciRaw);
     318    if (RT_FAILURED(rc))
    317319        return rc;
    318320#endif
  • trunk/src/VBox/Devices/build/VBoxDD.h

    r37198 r37781  
    8484extern const PDMDEVREG g_DeviceEFI;
    8585#endif
    86 #ifdef VBOX_WITH_PCI_PASSTHROUGH
     86#ifdef VBOX_WITH_PCI_PASSTHROUGH_IMPL
    8787extern const PDMDEVREG g_DevicePciRaw;
    8888#endif
  • trunk/src/VBox/Devices/testcase/Makefile.kmk

    r37752 r37781  
    4141        $(if $(VBOX_WITH_WDDM),VBOX_WITH_WDDM,) \
    4242        $(if $(VBOX_WITH_VIDEOHWACCEL),VBOX_WITH_VIDEOHWACCEL,) \
    43         $(if $(VBOX_WITH_PCI_PASSTHROUGH),VBOX_WITH_PCI_PASSTHROUGH,)
     43        $(if $(VBOX_WITH_PCI_PASSTHROUGH_IMPL),VBOX_WITH_PCI_PASSTHROUGH_IMPL,)
    4444
    4545
  • trunk/src/VBox/Devices/testcase/tstDeviceStructSize.cpp

    r37752 r37781  
    9191#endif
    9292
    93 #ifdef VBOX_WITH_PCI_PASSTHROUGH
     93#ifdef VBOX_WITH_PCI_PASSTHROUGH_IMPL
    9494# undef LOG_GROUP
    9595# include "../Bus/DevPciRaw.cpp"
     
    326326    CHECK_MEMBER_ALIGNMENT(VPCISTATE, Queues, 8);
    327327#endif
    328 #ifdef VBOX_WITH_PCI_PASSTHROUGH
    329     //CHECK_MEMBER_ALIGNMENT(PCIRAWSENDREQ, u.aGetRegionInfo.u64RegionSize, 8);
     328#ifdef VBOX_WITH_PCI_PASSTHROUGH_IMPL
     329    CHECK_MEMBER_ALIGNMENT(PCIRAWSENDREQ, u.aGetRegionInfo.u64RegionSize, 8);
    330330#endif
    331331
  • trunk/src/VBox/Main/src-client/ConsoleImpl2.cpp

    r37687 r37781  
    510510    if (assignments.size() > 0)
    511511    {
    512         InsertConfigNode(pDevices,     "pciraw",  &pPciDevs);
     512        InsertConfigNode(pDevices, "pciraw",  &pPciDevs);
    513513
    514514        PCFGMNODE pRoot = CFGMR3GetParent(pDevices); Assert(pRoot);
     
    564564        PciRawDev* pMainDev = new PciRawDev(pConsole);
    565565        InsertConfigNode(pInst,        "LUN#0",   &pLunL0);
    566         InsertConfigString(pLunL0,     "Driver",  "PciRawMain");
     566        InsertConfigString(pLunL0,     "Driver",  "pciraw");
    567567        InsertConfigNode(pLunL0,       "Config" , &pCfg);
    568568        InsertConfigInteger(pCfg,      "Object", (uintptr_t)pMainDev);
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