VirtualBox

Changeset 80701 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Sep 10, 2019 2:42:31 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
133241
Message:

PDM,Devices: Redefined uReserved1 to cMaxPciDevices in the PDMDEVREG structures and added PDM_DEVREG_FLAGS_MSI_X for indicating possible need for MSI-X. bugref:9218

Location:
trunk/src/VBox/VMM
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/PDMR0Device.cpp

    r80674 r80701  
    18081808                              ("pDevReg->u32Version=%#x vs %#x\n", pModReg->u32Version, PDM_DEVREGR0_VERSION), VERR_VERSION_MISMATCH);
    18091809        AssertLogRelMsgReturn(RT_VALID_PTR(pDevReg->pszDescription), ("[%u]: %p\n", i, pDevReg->pszDescription), VERR_INVALID_POINTER);
    1810         AssertLogRelMsgReturn(pDevReg->uReserved0   == 0, ("[%u]: %#x\n", i, pDevReg->uReserved0),    VERR_INVALID_PARAMETER);
    1811         AssertLogRelMsgReturn(pDevReg->uReserved1   == 0, ("[%u]: %#x\n", i, pDevReg->uReserved1),    VERR_INVALID_PARAMETER);
    1812         AssertLogRelMsgReturn(pDevReg->fClass       != 0, ("[%u]: %#x\n", i, pDevReg->fClass),        VERR_INVALID_PARAMETER);
    1813         AssertLogRelMsgReturn(pDevReg->fFlags       != 0, ("[%u]: %#x\n", i, pDevReg->fFlags),        VERR_INVALID_PARAMETER);
    1814         AssertLogRelMsgReturn(pDevReg->cMaxInstances > 0, ("[%u]: %#x\n", i, pDevReg->cMaxInstances), VERR_INVALID_PARAMETER);
     1810        AssertLogRelMsgReturn(pDevReg->uReserved0     == 0, ("[%u]: %#x\n", i, pDevReg->uReserved0),     VERR_INVALID_PARAMETER);
     1811        AssertLogRelMsgReturn(pDevReg->fClass         != 0, ("[%u]: %#x\n", i, pDevReg->fClass),         VERR_INVALID_PARAMETER);
     1812        AssertLogRelMsgReturn(pDevReg->fFlags         != 0, ("[%u]: %#x\n", i, pDevReg->fFlags),         VERR_INVALID_PARAMETER);
     1813        AssertLogRelMsgReturn(pDevReg->cMaxInstances   > 0, ("[%u]: %#x\n", i, pDevReg->cMaxInstances),  VERR_INVALID_PARAMETER);
     1814        AssertLogRelMsgReturn(pDevReg->cMaxPciDevices <= 8, ("[%u]: %#x\n", i, pDevReg->cMaxPciDevices), VERR_INVALID_PARAMETER);
    18151815
    18161816        /* The name must be printable ascii and correctly terminated. */
  • trunk/src/VBox/VMM/VMMR3/PDMDevHlp.cpp

    r80679 r80701  
    16561656     * Validate input.
    16571657     */
     1658    AssertLogRelMsgReturn(pDevIns->pReg->cMaxPciDevices > 0,
     1659                          ("'%s'/%d: cMaxPciDevices is 0\n", pDevIns->pReg->szName, pDevIns->iInstance),
     1660                          VERR_WRONG_ORDER);
    16581661    AssertLogRelMsgReturn(RT_VALID_PTR(pPciDev),
    16591662                          ("'%s'/%d: Invalid pPciDev value: %p\n", pDevIns->pReg->szName, pDevIns->iInstance, pPciDev),
     
    19211924    LogFlow(("pdmR3DevHlp_PCIRegisterMsi: caller='%s'/%d: pPciDev=%p:{%#x} pMsgReg=%p:{cMsiVectors=%d, cMsixVectors=%d}\n",
    19221925             pDevIns->pReg->szName, pDevIns->iInstance, pPciDev, pPciDev->uDevFn, pMsiReg, pMsiReg->cMsiVectors, pMsiReg->cMsixVectors));
     1926
     1927    AssertLogRelMsgReturn(pDevIns->pReg->cMaxPciDevices > 0,
     1928                          ("'%s'/%d: cMaxPciDevices is 0\n", pDevIns->pReg->szName, pDevIns->iInstance),
     1929                          VERR_WRONG_ORDER);
     1930    AssertLogRelMsgReturn((pDevIns->pReg->fFlags & PDM_DEVREG_FLAGS_MSI_X) || pMsiReg->cMsixVectors == 0,
     1931                          ("'%s'/%d: PDM_DEVREG_FLAGS_MSI_X not set and cMsixVectors=%u\n",
     1932                           pDevIns->pReg->szName, pDevIns->iInstance, pMsiReg->cMsixVectors),
     1933                          VERR_INVALID_FLAGS);
    19231934
    19241935    PPDMPCIBUS pBus = pPciDev->Int.s.pPdmBusR3; Assert(pBus);
  • trunk/src/VBox/VMM/VMMR3/PDMDevice.cpp

    r80542 r80701  
    760760                    ("u32VersionEnd=%#x, expected %#x. (szName=%s)\n",
    761761                     pReg->u32VersionEnd, PDM_DEVREG_VERSION, pReg->szName));
     762    AssertLogRelMsgReturn(pReg->cMaxPciDevices <= 8, ("%#x (szName=%s)\n", pReg->cMaxPciDevices, pReg->szName),
     763                          VERR_PDM_INVALID_DEVICE_REGISTRATION);
    762764
    763765    /*
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