VirtualBox

忽略:
時間撮記:
2014-3-6 下午09:40:39 (11 年 以前)
作者:
vboxsync
訊息:

Updated USB configuration.

檔案:
修改 1 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/Main/src-client/ConsoleImpl2.cpp

    r50686 r50721  
    16911691        hrc = pMachine->COMGETTER(USBControllers)(ComSafeArrayAsOutParam(usbCtrls));        H();
    16921692        bool fOhciPresent = false; /**< Flag whether at least one OHCI controller is present. */
     1693        bool fXhciPresent = false; /**< Flag whether at least one XHCI controller is present. */
    16931694
    16941695        for (size_t i = 0; i < usbCtrls.size(); ++i)
     
    17011702                break;
    17021703            }
     1704            else if (enmCtrlType == USBControllerType_XHCI)
     1705            {
     1706                fXhciPresent = true;
     1707                break;
     1708            }
    17031709        }
    17041710
    17051711        /*
    1706          * Currently EHCI is only enabled when a OHCI controller is present too.
    1707          * This might change when XHCI is supported.
     1712         * Currently EHCI is only enabled when an OHCI or XHCI controller is present as well.
    17081713         */
    1709         if (fOhciPresent)
     1714        if (fOhciPresent || fXhciPresent)
    17101715            mfVMHasUsbController = true;
    17111716
     
    17811786                }
    17821787#endif
     1788                else if (enmCtrlType == USBControllerType_XHCI)
     1789                {
     1790                    /*
     1791                     * USB 3.0 is only available if the proper ExtPack is installed.
     1792                     *
     1793                     * Note. Configuring EHCI here and providing messages about
     1794                     * the missing extpack isn't exactly clean, but it is a
     1795                     * necessary evil to patch over legacy compatability issues
     1796                     * introduced by the new distribution model.
     1797                     */
     1798                    static const char *s_pszUsbExtPackName = "Oracle VM VirtualBox Extension Pack";
     1799# ifdef VBOX_WITH_EXTPACK
     1800                    if (mptrExtPackManager->isExtPackUsable(s_pszUsbExtPackName))
     1801# endif
     1802                    {
     1803                        InsertConfigNode(pDevices, "usb-xhci", &pDev);
     1804                        InsertConfigNode(pDev,     "0", &pInst);
     1805                        InsertConfigNode(pInst,    "Config", &pCfg);
     1806                        InsertConfigInteger(pInst, "Trusted", 1); /* boolean */
     1807                        hrc = pBusMgr->assignPCIDevice("usb-xhci", pInst);                  H();
     1808
     1809                        InsertConfigNode(pInst,    "LUN#0", &pLunL0);
     1810                        InsertConfigString(pLunL0, "Driver",               "VUSBRootHub");
     1811                        InsertConfigNode(pLunL0,   "Config", &pCfg);
     1812
     1813                        /*
     1814                         * Attach the status driver.
     1815                         */
     1816                        attachStatusDriver(pInst, &mapUSBLed[1], 0, 0, NULL, NULL, 0);
     1817                    }
     1818# ifdef VBOX_WITH_EXTPACK
     1819                    else
     1820                    {
     1821                        /* Always fatal. */
     1822                        return VMR3SetError(pUVM, VERR_NOT_FOUND, RT_SRC_POS,
     1823                                N_("Implementation of the USB 3.0 controller not found!\n"
     1824                                   "Because the USB 3.0 controller state is part of the saved "
     1825                                   "VM state, the VM cannot be started. To fix "
     1826                                   "this problem, either install the '%s' or disable USB 3.0 "
     1827                                   "support in the VM settings"),
     1828                                s_pszUsbExtPackName);
     1829                    }
     1830# endif
     1831                }
    17831832            } /* for every USB controller. */
    17841833
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

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