VirtualBox

Changeset 5572 in vbox


Ignore:
Timestamp:
Oct 31, 2007 9:33:52 AM (17 years ago)
Author:
vboxsync
Message:

EHCI: Main integration

Location:
trunk/src/VBox
Files:
2 edited

Legend:

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

    r5380 r5572  
    103103        return rc;
    104104#endif
     105#ifdef VBOX_WITH_EHCI
     106    rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceEHCI);
     107    if (VBOX_FAILURE(rc))
     108        return rc;
     109#endif
    105110#ifdef VBOX_ACPI
    106111    rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceACPI);
  • trunk/src/VBox/Main/ConsoleImpl2.cpp

    r5361 r5572  
    6767{
    6868    LogFlowFuncEnter();
     69    /** Note: hardcoded assumption about number of slots; see rom bios */
     70    bool faPciDeviceNo[15] = {false};
    6971
    7072#if defined(RT_OS_WINDOWS)
     
    345347        rc = CFGMR3InsertInteger(pCfg,  "IOAPIC", fIOAPIC);                         RC_CHECK();
    346348        rc = CFGMR3InsertInteger(pInst, "PCIDeviceNo",          7);                 RC_CHECK();
     349        Assert(!faPciDeviceNo[7]);
     350        faPciDeviceNo[7] = true;
    347351        rc = CFGMR3InsertInteger(pInst, "PCIFunctionNo",        0);                 RC_CHECK();
    348352
     
    521525    rc = CFGMR3InsertInteger(pInst, "Trusted",              1);     /* boolean */   RC_CHECK();
    522526    rc = CFGMR3InsertInteger(pInst, "PCIDeviceNo",          2);                     RC_CHECK();
     527    Assert(!faPciDeviceNo[2]);
     528    faPciDeviceNo[2] = true;
    523529    rc = CFGMR3InsertInteger(pInst, "PCIFunctionNo",        0);                     RC_CHECK();
    524530    rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               RC_CHECK();
     
    570576    rc = CFGMR3InsertInteger(pInst, "Trusted",              1);     /* boolean */   RC_CHECK();
    571577    rc = CFGMR3InsertInteger(pInst, "PCIDeviceNo",          1);                     RC_CHECK();
     578    Assert(!faPciDeviceNo[1]);
     579    faPciDeviceNo[1] = true;
    572580    rc = CFGMR3InsertInteger(pInst, "PCIFunctionNo",        1);                     RC_CHECK();
    573581    rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               RC_CHECK();
     
    840848        /* the first network card gets the PCI ID 3, the followings starting from 8 */
    841849        rc = CFGMR3InsertInteger(pInst, "PCIDeviceNo", !ulInstance ? 3 : ulInstance - 1 + 8); RC_CHECK();
     850        Assert(!faPciDeviceNo[!ulInstance ? 3 : ulInstance - 1 + 8]);
     851        faPciDeviceNo[!ulInstance ? 3 : ulInstance - 1 + 8] = true;
    842852        rc = CFGMR3InsertInteger(pInst, "PCIFunctionNo",        0);                 RC_CHECK();
    843853        rc = CFGMR3InsertNode(pInst, "Config", &pCfg);                              RC_CHECK();
     
    11981208    rc = CFGMR3InsertInteger(pInst, "Trusted",              1);     /* boolean */   RC_CHECK();
    11991209    rc = CFGMR3InsertInteger(pInst, "PCIDeviceNo",          4);                     RC_CHECK();
     1210    Assert(!faPciDeviceNo[4]);
     1211    faPciDeviceNo[4] = true;
    12001212    rc = CFGMR3InsertInteger(pInst, "PCIFunctionNo",        0);                     RC_CHECK();
    12011213
     
    12471259        rc = CFGMR3InsertInteger(pInst, "Trusted",              1);     /* boolean */   RC_CHECK();
    12481260        rc = CFGMR3InsertInteger(pInst, "PCIDeviceNo",          5);                     RC_CHECK();
     1261        Assert(!faPciDeviceNo[5]);
     1262        faPciDeviceNo[5] = true;
    12491263        rc = CFGMR3InsertInteger(pInst, "PCIFunctionNo",        0);                     RC_CHECK();
    12501264        rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);
     
    13171331            rc = CFGMR3InsertInteger(pInst, "Trusted",              1); /* boolean */   RC_CHECK();
    13181332            rc = CFGMR3InsertInteger(pInst, "PCIDeviceNo",          6);                 RC_CHECK();
     1333            Assert(!faPciDeviceNo[6]);
     1334            faPciDeviceNo[6] = true;
    13191335            rc = CFGMR3InsertInteger(pInst, "PCIFunctionNo",        0);                 RC_CHECK();
    13201336
     
    13321348            rc = CFGMR3InsertInteger(pCfg,  "First",    0);                             RC_CHECK();
    13331349            rc = CFGMR3InsertInteger(pCfg,  "Last",     0);                             RC_CHECK();
     1350
     1351#ifdef VBOX_WITH_EHCI
     1352            rc = CFGMR3InsertNode(pDevices, "usb-ehci", &pDev);                         RC_CHECK();
     1353            rc = CFGMR3InsertNode(pDev,     "0", &pInst);                               RC_CHECK();
     1354            rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                           RC_CHECK();
     1355            rc = CFGMR3InsertInteger(pInst, "Trusted",              1); /* boolean */   RC_CHECK();
     1356            rc = CFGMR3InsertInteger(pInst, "PCIDeviceNo",          11);                RC_CHECK();
     1357            Assert(!faPciDeviceNo[11]);
     1358            faPciDeviceNo[11] = true;
     1359            rc = CFGMR3InsertInteger(pInst, "PCIFunctionNo",        0);                 RC_CHECK();
     1360
     1361            rc = CFGMR3InsertNode(pInst,    "LUN#0", &pLunL0);                          RC_CHECK();
     1362            rc = CFGMR3InsertString(pLunL0, "Driver",               "VUSBRootHub");     RC_CHECK();
     1363            rc = CFGMR3InsertNode(pLunL0,   "Config", &pCfg);                           RC_CHECK();
     1364
     1365            /*
     1366             * Attach the status driver.
     1367             */
     1368            rc = CFGMR3InsertNode(pInst,    "LUN#999", &pLunL0);                        RC_CHECK();
     1369            rc = CFGMR3InsertString(pLunL0, "Driver",               "MainStatus");      RC_CHECK();
     1370            rc = CFGMR3InsertNode(pLunL0,   "Config", &pCfg);                           RC_CHECK();
     1371            rc = CFGMR3InsertInteger(pCfg,  "papLeds", (uintptr_t)&pConsole->mapUSBLed);RC_CHECK();
     1372            rc = CFGMR3InsertInteger(pCfg,  "First",    0);                             RC_CHECK();
     1373            rc = CFGMR3InsertInteger(pCfg,  "Last",     0);                             RC_CHECK();
     1374#endif
    13341375        }
    13351376    }
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