VirtualBox

Changeset 26112 in vbox for trunk/src


Ignore:
Timestamp:
Feb 1, 2010 1:44:02 AM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
57100
Message:

PDM,UsbMsd,++: Resumed hacking the MSD code.

Location:
trunk/src/VBox
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Builtins.cpp

    r25817 r26112  
    289289        return rc;
    290290
    291 #if defined(RT_OS_LINUX)
     291# if defined(RT_OS_LINUX)
    292292    rc = pCallbacks->pfnRegister(pCallbacks, &g_DrvSCSIHost);
    293293    if (RT_FAILURE(rc))
    294294        return rc;
    295 #endif
     295# endif
    296296#endif
    297297
     
    314314        return rc;
    315315
     316# ifdef VBOX_WITH_SCSI
     317    rc = pCallbacks->pfnRegister(pCallbacks, &g_UsbMsd);
     318    if (RT_FAILURE(rc))
     319        return rc;
     320# endif
     321
    316322    return VINF_SUCCESS;
    317323}
    318324#endif
     325
  • trunk/src/VBox/Devices/Builtins.h

    r25817 r26112  
    122122#ifdef VBOX_WITH_USB
    123123extern const PDMUSBREG g_UsbDevProxy;
     124extern const PDMUSBREG g_UsbMsd;
    124125#endif
    125126
    126127#ifdef VBOX_WITH_SCSI
    127128extern const PDMDRVREG g_DrvSCSI;
    128 #if defined(RT_OS_LINUX)
     129# if defined(RT_OS_LINUX)
    129130extern const PDMDRVREG g_DrvSCSIHost;
    130 #endif
     131# endif
    131132#endif
    132133
  • trunk/src/VBox/Devices/Makefile.kmk

    r26097 r26112  
    10361036        USB/VUSBReadAhead.cpp \
    10371037        USB/VUSBUrb.cpp
     1038
    10381039 ifdef VBOX_WITH_VRDP
    10391040  Drivers_DEFS        += VBOX_WITH_VRDP
     
    10831084        USB/USBProxyDevice.cpp \
    10841085        USB/freebsd/USBProxyDevice-freebsd.cpp
     1086
     1087 ifdef VBOX_WITH_SCSI
     1088  Drivers_SOURCES += \
     1089        Storage/UsbMsd.cpp
     1090 endif
     1091
    10851092endif # VBOX_WITH_USB
    10861093
  • trunk/src/VBox/Main/ConsoleImpl2.cpp

    r26109 r26112  
    16961696            rc = CFGMR3InsertInteger(pCfg,  "Last",     0);                             RC_CHECK();
    16971697
     1698            PCFGMNODE pUsbDevices = NULL;
    16981699#ifdef VBOX_WITH_EHCI
    16991700            hrc = USBCtlPtr->COMGETTER(EnabledEhci)(&fEnabled);                         H();
     
    17301731                 * on a per device level now.
    17311732                 */
    1732                 rc = CFGMR3InsertNode(pRoot, "USB", &pCfg);                             RC_CHECK();
    1733                 rc = CFGMR3InsertNode(pCfg, "USBProxy", &pCfg);                         RC_CHECK();
     1733                rc = CFGMR3InsertNode(pRoot, "USB", &pUsbDevices);                      RC_CHECK();
     1734                rc = CFGMR3InsertNode(pUsbDevices, "USBProxy", &pCfg);                  RC_CHECK();
    17341735                rc = CFGMR3InsertNode(pCfg, "GlobalConfig", &pCfg);                     RC_CHECK();
    17351736                // This globally enables the 2.0 -> 1.1 device morphing of proxied devies to keep windows quiet.
     
    17401741                //rc = CFGMR3InsertInteger(pCfg, "Force11PacketSize", true);            RC_CHECK();
    17411742            }
     1743
     1744#if 0 /* Enable+edit this to play with the virtual USB devices). */
     1745            if (!pUsbDevices)
     1746            {
     1747                rc = CFGMR3InsertNode(pRoot, "USB", &pUsbDevices);                  RC_CHECK();
     1748            }
     1749
     1750# if 1  /* Virtual MSD*/
     1751
     1752            rc = CFGMR3InsertNode(pUsbDevices, "Msd", &pDev);                       RC_CHECK();
     1753            rc = CFGMR3InsertNode(pDev,     "0", &pInst);                           RC_CHECK();
     1754            rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                       RC_CHECK();
     1755            rc = CFGMR3InsertNode(pInst,    "LUN#0", &pLunL0);                      RC_CHECK();
     1756
     1757            rc = CFGMR3InsertString(pLunL0, "Driver", "SCSI");                      RC_CHECK();
     1758            rc = CFGMR3InsertNode(pLunL0,   "Config", &pCfg);                       RC_CHECK();
     1759
     1760            rc = CFGMR3InsertNode(pLunL0,   "AttachedDriver", &pLunL1);             RC_CHECK();
     1761            rc = CFGMR3InsertString(pLunL1, "Driver", "Block");                     RC_CHECK();
     1762            rc = CFGMR3InsertNode(pLunL1,   "Config", &pCfg);                       RC_CHECK();
     1763            rc = CFGMR3InsertString(pCfg,   "Type", "HardDisk");                    RC_CHECK();
     1764            rc = CFGMR3InsertInteger(pCfg,  "Mountable", 0);                        RC_CHECK();
     1765
     1766            rc = CFGMR3InsertNode(pLunL1,   "AttachedDriver", &pLunL2);             RC_CHECK();
     1767            rc = CFGMR3InsertString(pLunL2, "Driver", "VD");                        RC_CHECK();
     1768            rc = CFGMR3InsertNode(pLunL2,   "Config", &pCfg);                       RC_CHECK();
     1769            rc = CFGMR3InsertString(pCfg,   "Path", "/Volumes/DataHFS/bird/VDIs/linux.vdi"); RC_CHECK();
     1770            rc = CFGMR3InsertString(pCfg,   "Format", "VDI");                       RC_CHECK();
     1771# endif
     1772#endif
    17421773        }
    17431774    }
  • trunk/src/VBox/RDP/client/vrdp/USBProxyDevice-linux.c

    r18866 r26112  
    11651165    if (!fFailed)
    11661166    {
    1167         pUrb->Dev.pvProxyUrb = pUrbLnx;
     1167        pUrb->Dev.pvPrivate = pUrbLnx;
    11681168        LogFlow(("usbProxyLinuxUrbQueueSplit: ok\n"));
    11691169        return true;
     
    13251325
    13261326    LogFlow(("usbProxyLinuxUrbQueue: ok\n"));
    1327     pUrb->Dev.pvProxyUrb = pUrbLnx;
     1327    pUrb->Dev.pvPrivate = pUrbLnx;
    13281328    return true;
    13291329}
     
    15911591            usbProxyLinuxUrbFree(pProxyDev, pUrbLnx);
    15921592        }
    1593         pUrb->Dev.pvProxyUrb = NULL;
     1593        pUrb->Dev.pvPrivate = NULL;
    15941594
    15951595        /* some adjustments for message transfers. */
     
    16181618{
    16191619    PUSBPROXYDEV pProxyDev = (PUSBPROXYDEV)pUrb->pDev;
    1620     PUSBPROXYURBLNX pUrbLnx = (PUSBPROXYURBLNX)pUrb->Dev.pvProxyUrb;
     1620    PUSBPROXYURBLNX pUrbLnx = (PUSBPROXYURBLNX)pUrb->Dev.pvPrivate;
    16211621    if (pUrbLnx->pSplitHead)
    16221622    {
  • trunk/src/VBox/RDP/client/vrdp/vusb.h

    r9902 r26112  
    188188    struct VUSBURBDEV
    189189    {
    190         /** Pointer to the proxy URB.  */
    191         void           *pvProxyUrb;
     190        /** Pointer to private device specific data.  */
     191        void           *pvPrivate;
     192        /** Used by the device when linking the URB in some list of its own.   */
     193        PVUSBURB        pNext;
    192194    } Dev;
    193195
  • trunk/src/VBox/VMM/PDMDevHlp.cpp

    r26001 r26112  
    825825        pLun->pBottom   = NULL;
    826826        pLun->pDevIns   = pDevIns;
     827        pLun->pUsbIns   = NULL;
    827828        pLun->pszDesc   = pszDesc;
    828829        pLun->pBase     = pBaseInterface;
  • trunk/src/VBox/VMM/PDMDriver.cpp

    r25966 r26112  
    501501                            Log(("PDM: Attached driver %p:'%s'/%d to LUN#%d on device '%s'/%d, pDrvAbove=%p:'%s'/%d\n",
    502502                                 pNew, pDrv->pDrvReg->szDriverName, pNew->iInstance,
    503                                  pLun->iLun, pLun->pDevIns->pDevReg->szDeviceName, pLun->pDevIns->iInstance,
     503                                 pLun->iLun,
     504                                 pLun->pDevIns ? pLun->pDevIns->pDevReg->szDeviceName : pLun->pUsbIns->pUsbReg->szDeviceName,
     505                                 pLun->pDevIns ? pLun->pDevIns->iInstance             : pLun->pUsbIns->iInstance,
    504506                                 pDrvAbove, pDrvAbove ? pDrvAbove->pDrvReg->szDriverName : "", pDrvAbove ? pDrvAbove->iInstance : -1));
    505507                        else
  • trunk/src/VBox/VMM/PDMInternal.h

    r25995 r26112  
    377377    R3PTRTYPE(const struct PDMDEVREG *) pDevReg;
    378378    /** Number of instances. */
    379     RTUINT                          cInstances;
     379    uint32_t                        cInstances;
    380380    /** Pointer to chain of instances (R3 Ptr). */
    381381    PPDMDEVINSR3                    pInstances;
     
    395395    R3PTRTYPE(const struct PDMUSBREG *) pUsbReg;
    396396    /** Next instance number. */
    397     RTUINT                          iNextInstance;
     397    uint32_t                        iNextInstance;
    398398    /** Pointer to chain of instances (R3 Ptr). */
    399399    R3PTRTYPE(PPDMUSBINS)           pInstances;
Note: See TracChangeset for help on using the changeset viewer.

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