- 時間撮記:
- 2014-3-6 下午09:40:39 (11 年 以前)
- 檔案:
-
- 修改 1 筆資料
圖例:
- 未更動
- 新增
- 刪除
-
trunk/src/VBox/Main/src-client/ConsoleImpl2.cpp
r50686 r50721 1691 1691 hrc = pMachine->COMGETTER(USBControllers)(ComSafeArrayAsOutParam(usbCtrls)); H(); 1692 1692 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. */ 1693 1694 1694 1695 for (size_t i = 0; i < usbCtrls.size(); ++i) … … 1701 1702 break; 1702 1703 } 1704 else if (enmCtrlType == USBControllerType_XHCI) 1705 { 1706 fXhciPresent = true; 1707 break; 1708 } 1703 1709 } 1704 1710 1705 1711 /* 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. 1708 1713 */ 1709 if (fOhciPresent )1714 if (fOhciPresent || fXhciPresent) 1710 1715 mfVMHasUsbController = true; 1711 1716 … … 1781 1786 } 1782 1787 #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 } 1783 1832 } /* for every USB controller. */ 1784 1833
注意:
瀏覽 TracChangeset
來幫助您使用更動檢視器