VirtualBox

Changeset 37794 in vbox


Ignore:
Timestamp:
Jul 6, 2011 10:24:07 AM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
72670
Message:

more PCI passthrough fixes

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/err.h

    r36984 r37794  
    17381738/** @} */
    17391739
     1740/** @name PCI Passtrhough Status Codes
     1741 * @{
     1742 */
     1743/** RamPreAlloc not set.
     1744 * RAM pre-allocation is currently a requirement for PCI passthrough. */
     1745#define VERR_PCI_PASSTHROUGH_NO_RAM_PREALLOC       (-7000)
     1746/** VT-x/AMD-V not active.
     1747 * PCI passthrough currently works only if VT-x/AMD-V is active. */
     1748#define VERR_PCI_PASSTHROUGH_NO_HWACCM             (-7001)
     1749/** Nested paging not active.
     1750 * PCI passthrough currently works only if nested paging is active. */
     1751#define VERR_PCI_PASSTHROUGH_NO_NESTED_PAGING      (-7002)
     1752/** @} */
     1753
    17401754/* SED-END */
    17411755
  • trunk/src/VBox/Main/src-client/ConsoleImpl2.cpp

    r37781 r37794  
    462462{
    463463    HRESULT hrc = S_OK;
    464     PCFGMNODE pInst, pCfg, pLunL0;
     464    PCFGMNODE pInst, pCfg, pLunL0, pLunL1;
    465465
    466466    SafeIfaceArray<IPciDeviceAttachment> assignments;
     
    561561        InsertConfigInteger(pCfg,      "GuestPCIFunctionNo", GuestPciAddress.miFn);
    562562
     563        /* the driver */
     564        InsertConfigNode(pInst,        "LUN#0",   &pLunL0);
     565        InsertConfigString(pLunL0,     "Driver", "pciraw");
     566        InsertConfigNode(pLunL0,       "AttachedDriver", &pLunL1);
     567
    563568        /* the Main driver */
     569        InsertConfigString(pLunL1,     "Driver", "MainPciRaw");
     570        InsertConfigNode(pLunL1,       "Config", &pCfg);
    564571        PciRawDev* pMainDev = new PciRawDev(pConsole);
    565         InsertConfigNode(pInst,        "LUN#0",   &pLunL0);
    566         InsertConfigString(pLunL0,     "Driver",  "pciraw");
    567         InsertConfigNode(pLunL0,       "Config" , &pCfg);
    568572        InsertConfigInteger(pCfg,      "Object", (uintptr_t)pMainDev);
    569573    }
  • trunk/src/VBox/VMM/VMMR3/PGM.cpp

    r37354 r37794  
    21622162            if (pVM->pgm.s.fPciPassthrough)
    21632163            {
    2164                 AssertLogRelReturn(pVM->pgm.s.fRamPreAlloc, VERR_INVALID_PARAMETER);
    2165                 AssertLogRelReturn(HWACCMIsEnabled(pVM), VERR_INVALID_PARAMETER);
    2166                 AssertLogRelReturn(HWACCMIsNestedPagingActive(pVM), VERR_INVALID_PARAMETER);
     2164                AssertLogRelReturn(pVM->pgm.s.fRamPreAlloc, VERR_PCI_PASSTHROUGH_NO_RAM_PREALLOC);
     2165                AssertLogRelReturn(HWACCMIsEnabled(pVM), VERR_PCI_PASSTHROUGH_NO_HWACCM);
     2166                AssertLogRelReturn(HWACCMIsNestedPagingActive(pVM), VERR_PCI_PASSTHROUGH_NO_NESTED_PAGING);
    21672167
    21682168                /*
  • trunk/src/VBox/VMM/VMMR3/VM.cpp

    r37465 r37794  
    342342                                  "support and remote desktop) are only available from an 'extension "
    343343                                  "pack' which must be downloaded and installed separately");
     344                    break;
     345
     346                case VERR_PCI_PASSTHROUGH_NO_HWACCM:
     347                    pszError = N_("PCI passthrough requires VT-x/AMD-V");
     348                    break;
     349
     350                case VERR_PCI_PASSTHROUGH_NO_NESTED_PAGING:
     351                    pszError = N_("PCI passthrough requires nested paging");
    344352                    break;
    345353
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