Changeset 80704 in vbox
- Timestamp:
- Sep 10, 2019 3:19:39 PM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 133244
- Location:
- trunk
- Files:
-
- 46 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/msi.h
r76585 r80704 101 101 102 102 /** 103 * MSI-X different from MSI by the fact that dedicated physical page 104 * (in device memory) is assigned for MSI-X table, and Pending Bit Array (PBA), 105 * which is recommended to be separated from the main table by at least 2K. 103 * MSI-X differs from MSI by the fact that a dedicated physical page (in device 104 * memory) is assigned for MSI-X table, and Pending Bit Array (PBA), which is 105 * recommended to be separated from the main table by at least 2K. 106 * 107 * @{ 106 108 */ 107 /* Size of a MSI-X page */109 /** Size of a MSI-X page */ 108 110 #define VBOX_MSIX_PAGE_SIZE 0x1000 109 /* Pending interrupts (PBA) */111 /** Pending interrupts (PBA) */ 110 112 #define VBOX_MSIX_PAGE_PENDING (VBOX_MSIX_PAGE_SIZE / 2) 111 /* Maximum number of vectors, per device/function */113 /** Maximum number of vectors, per device/function */ 112 114 #define VBOX_MSIX_MAX_ENTRIES 2048 113 /* Size of MSI-X PCI capability */115 /** Size of MSI-X PCI capability */ 114 116 #define VBOX_MSIX_CAP_SIZE 12 115 /* Offsets in MSI-X PCI capability structure (VBOX_PCI_CAP_ID_MSIX) */117 /** Offsets in MSI-X PCI capability structure (VBOX_PCI_CAP_ID_MSIX) */ 116 118 #define VBOX_MSIX_CAP_MESSAGE_CONTROL 0x02 117 119 #define VBOX_MSIX_TABLE_BIROFFSET 0x04 118 120 #define VBOX_MSIX_PBA_BIROFFSET 0x08 119 /* Size of single MSI-X table entry */121 /** Size of single MSI-X table entry */ 120 122 #define VBOX_MSIX_ENTRY_SIZE 16 123 /** @} */ 121 124 122 125 -
trunk/include/VBox/vmm/pdmdev.h
r80701 r80704 332 332 uint32_t cbInstanceRC; 333 333 /** Max number of PCI devices. */ 334 uint32_t cMaxPciDevices; 334 uint16_t cMaxPciDevices; 335 /** Max number of MSI-X vectors in any of the PCI devices. */ 336 uint16_t cMaxMsixVectors; 335 337 /** The description of the device. The UTF-8 string pointed to shall, like this structure, 336 338 * remain unchanged from registration till VM destruction. */ … … 556 558 uint32_t cbInstanceRC; 557 559 /** Max number of PCI devices. */ 558 uint32_t cMaxPciDevices; 560 uint16_t cMaxPciDevices; 561 /** Max number of MSI-X vectors in any of the PCI devices. */ 562 uint16_t cMaxMsixVectors; 559 563 /** The description of the device. The UTF-8 string pointed to shall, like this structure, 560 564 * remain unchanged from registration till VM destruction. */ … … 664 668 uint32_t cbInstanceRC; 665 669 /** Max number of PCI devices. */ 666 uint32_t cMaxPciDevices; 670 uint16_t cMaxPciDevices; 671 /** Max number of MSI-X vectors in any of the PCI devices. */ 672 uint16_t cMaxMsixVectors; 667 673 /** The description of the device. The UTF-8 string pointed to shall, like this structure, 668 674 * remain unchanged from registration till VM destruction. */ -
trunk/src/VBox/Devices/Audio/DevHDA.cpp
r80701 r80704 5326 5326 /* .cbInstanceRC = */ 0, 5327 5327 /* .cMaxPciDevices = */ 1, 5328 /* .cMaxMsixVectors = */ 0, 5328 5329 /* .pszDescription = */ "Intel HD Audio Controller", 5329 5330 #if defined(IN_RING3) -
trunk/src/VBox/Devices/Audio/DevIchAc97.cpp
r80701 r80704 4556 4556 /* .cbInstanceRC = */ 0, 4557 4557 /* .cMaxPciDevices = */ 1, 4558 /* .cMaxMsixVectors = */ 0, 4558 4559 /* .pszDescription = */ "ICH AC'97 Audio Controller", 4559 4560 #if defined(IN_RING3) -
trunk/src/VBox/Devices/Audio/DevSB16.cpp
r80703 r80704 2608 2608 /* .cbInstanceRC = */ 0, 2609 2609 /* .cMaxPciDevices = */ 0, 2610 /* .cMaxMsixVectors = */ 0, 2610 2611 /* .pszDescription = */ "Sound Blaster 16 Controller", 2611 2612 #if defined(IN_RING3) -
trunk/src/VBox/Devices/Bus/DevPCI.cpp
r80701 r80704 1412 1412 /* .cbInstanceRC = */ 0, 1413 1413 /* .cMaxPciDevices = */ 2, 1414 /* .cMaxMsixVectors = */ 0, 1414 1415 /* .pszDescription = */ "i440FX PCI bridge and PIIX3 ISA bridge.", 1415 1416 #if defined(IN_RING3) … … 1755 1756 /* .cbInstanceRC = */ 0, 1756 1757 /* .cMaxPciDevices = */ 1, 1758 /* .cMaxMsixVectors = */ 0, 1757 1759 /* .pszDescription = */ "82801 Mobile PCI to PCI bridge", 1758 1760 #if defined(IN_RING3) -
trunk/src/VBox/Devices/Bus/DevPciIch9.cpp
r80702 r80704 3606 3606 /* .cbInstanceRC = */ 0, 3607 3607 /* .cMaxPciDevices = */ 1, 3608 /* .cMaxMsixVectors = */ 0, 3608 3609 /* .pszDescription = */ "ICH9 PCI bridge", 3609 3610 #if defined(IN_RING3) … … 3679 3680 /* .cbInstanceRC = */ 0, 3680 3681 /* .cMaxPciDevices = */ 1, 3682 /* .cMaxMsixVectors = */ 0, 3681 3683 /* .pszDescription = */ "ICH9 PCI to PCI bridge", 3682 3684 #if defined(IN_RING3) -
trunk/src/VBox/Devices/EFI/DevEFI.cpp
r80703 r80704 2470 2470 /* .cbInstanceRC = */ 0, 2471 2471 /* .cMaxPciDevices = */ 0, 2472 /* .cMaxMsixVectors = */ 0, 2472 2473 /* .pszDescription = */ "Extensible Firmware Interface Device.\n" 2473 2474 "LUN#0 - NVRAM port", -
trunk/src/VBox/Devices/EFI/DevFlash.cpp
r80703 r80704 533 533 /* .cbInstanceRC = */ 0, 534 534 /* .cMaxPciDevices = */ 0, 535 /* .cMaxMsixVectors = */ 0, 535 536 /* .pszDescription = */ "Flash Memory Device", 536 537 #if defined(IN_RING3) -
trunk/src/VBox/Devices/EFI/DevSmc.cpp
r80703 r80704 1508 1508 /* .cbInstanceRC = */ 0, 1509 1509 /* .cMaxPciDevices = */ 0, 1510 /* .cMaxMsixVectors = */ 0, 1510 1511 /* .pszDescription = */ "Apple System Management Controller", 1511 1512 #if defined(IN_RING3) -
trunk/src/VBox/Devices/GIMDev/GIMDev.cpp
r80703 r80704 423 423 /* .cbInstanceRC = */ 0, 424 424 /* .cMaxPciDevices = */ 0, 425 /* .cMaxMsixVectors = */ 0, 425 426 /* .pszDescription = */ "VirtualBox GIM Device", 426 427 #if defined(IN_RING3) -
trunk/src/VBox/Devices/Graphics/DevVGA.cpp
r80701 r80704 7281 7281 /* .cbInstanceRC = */ 0, 7282 7282 /* .cMaxPciDevices = */ 1, 7283 /* .cMaxMsixVectors = */ 0, 7283 7284 /* .pszDescription = */ "VGA Adaptor with VESA extensions.", 7284 7285 #if defined(IN_RING3) -
trunk/src/VBox/Devices/Input/DevPS2.cpp
r80703 r80704 1059 1059 /* .cbInstanceRC = */ 0, 1060 1060 /* .cMaxPciDevices = */ 0, 1061 /* .cMaxMsixVectors = */ 0, 1061 1062 /* .pszDescription = */ "PS/2 Keyboard and Mouse device. Emulates both the keyboard, mouse and the keyboard controller.\n" 1062 1063 "LUN #0 is the keyboard connector.\n" -
trunk/src/VBox/Devices/Misc/VirtualKD.cpp
r80703 r80704 238 238 /* .cbInstanceRC = */ 0, 239 239 /* .cMaxPciDevices = */ 0, 240 /* .cMaxMsixVectors = */ 0, 240 241 /* .pszDescription = */ "Provides fast debugging interface when debugging Windows kernel", 241 242 #if defined(IN_RING3) -
trunk/src/VBox/Devices/Network/DevE1000.cpp
r80701 r80704 8103 8103 /* .uReserved0 = */ 0, 8104 8104 /* .szName = */ "e1000", 8105 /* .fFlags = */ PDM_DEVREG_FLAGS_DEFAULT_BITS | PDM_DEVREG_FLAGS_RC | PDM_DEVREG_FLAGS_R0 | PDM_DEVREG_FLAGS_MSI_X,8105 /* .fFlags = */ PDM_DEVREG_FLAGS_DEFAULT_BITS | PDM_DEVREG_FLAGS_RC | PDM_DEVREG_FLAGS_R0, 8106 8106 /* .fClass = */ PDM_DEVREG_CLASS_NETWORK, 8107 8107 /* .cMaxInstances = */ ~0U, … … 8111 8111 /* .cbInstanceRC = */ 0, 8112 8112 /* .cMaxPciDevices = */ 1, 8113 /* .cMaxMsixVectors = */ 0, 8113 8114 /* .pszDescription = */ "Intel PRO/1000 MT Desktop Ethernet.", 8114 8115 #if defined(IN_RING3) … … 8124 8125 /* .pfnResume = */ NULL, 8125 8126 /* .pfnAttach = */ e1kR3Attach, 8126 /* pfnDeatch */e1kR3Detach,8127 /* .pfnDeatch = */ e1kR3Detach, 8127 8128 /* .pfnQueryInterface = */ NULL, 8128 8129 /* .pfnInitComplete = */ NULL, -
trunk/src/VBox/Devices/Network/DevINIP.cpp
r80703 r80704 740 740 /* .cbInstanceRC = */ 0, 741 741 /* .cMaxPciDevices = */ 0, 742 /* .cMaxMsixVectors = */ 0, 742 743 /* .pszDescription = */ "Internal Network IP stack device", 743 744 #if defined(IN_RING3) -
trunk/src/VBox/Devices/Network/DevPCNet.cpp
r80701 r80704 5554 5554 /* .cbInstanceRC = */ 0, 5555 5555 /* .cMaxPciDevices = */ 1, 5556 /* .cMaxMsixVectors = */ 0, 5556 5557 /* .pszDescription = */ "AMD PCnet Ethernet controller.\n", 5557 5558 #if defined(IN_RING3) -
trunk/src/VBox/Devices/Network/DevVirtioNet.cpp
r80701 r80704 2365 2365 /* .cbInstanceRC = */ 0, 2366 2366 /* .cMaxPciDevices = */ 1, 2367 /* .cMaxMsixVectors = */ 0, 2367 2368 /* .pszDescription = */ "Virtio Ethernet.\n", 2368 2369 #if defined(IN_RING3) -
trunk/src/VBox/Devices/PC/DevACPI.cpp
r80701 r80704 4196 4196 /* .cbInstanceRC = */ 0, 4197 4197 /* .cMaxPciDevices = */ 1, 4198 /* .cMaxMsixVectors = */ 0, 4198 4199 /* .pszDescription = */ "Advanced Configuration and Power Interface", 4199 4200 #if defined(IN_RING3) -
trunk/src/VBox/Devices/PC/DevDMA.cpp
r80703 r80704 1138 1138 /* .cbInstanceRC = */ 0, 1139 1139 /* .cMaxPciDevices = */ 0, 1140 /* .cMaxMsixVectors = */ 0, 1140 1141 /* .pszDescription = */ "DMA Controller Device", 1141 1142 #if defined(IN_RING3) -
trunk/src/VBox/Devices/PC/DevHPET.cpp
r80703 r80704 1490 1490 /* .cbInstanceRC = */ 0, 1491 1491 /* .cMaxPciDevices = */ 0, 1492 /* .cMaxMsixVectors = */ 0, 1492 1493 /* .pszDescription = */ "High Precision Event Timer (HPET) Device", 1493 1494 #if defined(IN_RING3) -
trunk/src/VBox/Devices/PC/DevIoApic.cpp
r80703 r80704 1385 1385 /* .cbInstanceRC = */ 0, 1386 1386 /* .cMaxPciDevices = */ 0, 1387 /* .cMaxMsixVectors = */ 0, 1387 1388 /* .pszDescription = */ "I/O Advanced Programmable Interrupt Controller (IO-APIC) Device", 1388 1389 #if defined(IN_RING3) -
trunk/src/VBox/Devices/PC/DevLpc-new.cpp
r80701 r80704 400 400 /* .cbInstanceRC = */ 0, 401 401 /* .cMaxPciDevices = */ 1, 402 /* .cMaxMsixVectors = */ 0, 402 403 /* .pszDescription = */ "Low Pin Count (LPC) Bus", 403 404 #if defined(IN_RING3) -
trunk/src/VBox/Devices/PC/DevPIC.cpp
r80703 r80704 1055 1055 /* .cbInstanceRC = */ 0, 1056 1056 /* .cMaxPciDevices = */ 0, 1057 /* .cMaxMsixVectors = */ 0, 1057 1058 /* .pszDescription = */ "Intel 8259 Programmable Interrupt Controller (PIC) Device.", 1058 1059 #if defined(IN_RING3) -
trunk/src/VBox/Devices/PC/DevPcArch.cpp
r80703 r80704 299 299 /* .cbInstanceRC = */ 0, 300 300 /* .cMaxPciDevices = */ 0, 301 /* .cMaxMsixVectors = */ 0, 301 302 /* .pszDescription = */ "PC Architecture Device", 302 303 #if defined(IN_RING3) -
trunk/src/VBox/Devices/PC/DevPcBios.cpp
r80703 r80704 1811 1811 /* .cbInstanceRC = */ 0, 1812 1812 /* .cMaxPciDevices = */ 0, 1813 /* .cMaxMsixVectors = */ 0, 1813 1814 /* .pszDescription = */ "PC BIOS Device", 1814 1815 #if defined(IN_RING3) -
trunk/src/VBox/Devices/PC/DevPit-i8254.cpp
r80703 r80704 1540 1540 /* .cbInstanceRC = */ 0, 1541 1541 /* .cMaxPciDevices = */ 0, 1542 /* .cMaxMsixVectors = */ 0, 1542 1543 /* .pszDescription = */ "Intel 8254 Programmable Interval Timer (PIT) And Dummy Speaker Device", 1543 1544 #if defined(IN_RING3) -
trunk/src/VBox/Devices/PC/DevRTC.cpp
r80703 r80704 1277 1277 /* .cbInstanceRC = */ sizeof(RTCSTATERC), 1278 1278 /* .cMaxPciDevices = */ 0, 1279 /* .cMaxMsixVectors = */ 0, 1279 1280 /* .pszDescription = */ "Motorola MC146818 RTC/CMOS Device.", 1280 1281 #ifdef IN_RING3 -
trunk/src/VBox/Devices/Parallel/DevParallel.cpp
r80703 r80704 825 825 /* .cbInstanceRC = */ 0, 826 826 /* .cMaxPciDevices = */ 0, 827 /* .cMaxMsixVectors = */ 0, 827 828 /* .pszDescription = */ "Parallel Communication Port", 828 829 #if defined(IN_RING3) -
trunk/src/VBox/Devices/Samples/DevPlayground.cpp
r80701 r80704 352 352 /* .cbInstanceRC = */ 0, 353 353 /* .cMaxPciDevices = */ 1, 354 /* .cMaxMsixVectors = */ 0, 354 355 /* .pszDescription = */ "VBox Playground Device.", 355 356 #if defined(IN_RING3) -
trunk/src/VBox/Devices/Samples/VBoxSampleDevice.cpp
r80703 r80704 100 100 /* .cbInstanceRC = */ 0, 101 101 /* .cMaxPciDevices = */ 0, 102 /* .cMaxMsixVectors = */ 0, 102 103 /* .pszDescription = */ "VBox Sample Device.", 103 104 #if defined(IN_RING3) -
trunk/src/VBox/Devices/Serial/DevOxPcie958.cpp
r80701 r80704 632 632 /* .uReserved0 = */ 0, 633 633 /* .szName = */ "oxpcie958uart", 634 /* .fFlags = */ PDM_DEVREG_FLAGS_DEFAULT_BITS | PDM_DEVREG_FLAGS_RC | PDM_DEVREG_FLAGS_R0 | PDM_DEVREG_FLAGS_MSI_X,634 /* .fFlags = */ PDM_DEVREG_FLAGS_DEFAULT_BITS | PDM_DEVREG_FLAGS_RC | PDM_DEVREG_FLAGS_R0, 635 635 /* .fClass = */ PDM_DEVREG_CLASS_SERIAL, 636 636 /* .cMaxInstances = */ ~0U, … … 640 640 /* .cbInstanceRC = */ 0, 641 641 /* .cMaxPciDevices = */ 1, 642 /* .cMaxMsixVectors = */ VBOX_MSIX_MAX_ENTRIES, 642 643 /* .pszDescription = */ "OXPCIe958 based UART controller.\n", 643 644 #if defined(IN_RING3) -
trunk/src/VBox/Devices/Serial/DevSerial.cpp
r80703 r80704 479 479 /* .cbInstanceRC = */ 0, 480 480 /* .cMaxPciDevices = */ 0, 481 /* .cMaxMsixVectors = */ 0, 481 482 /* .pszDescription = */ "Serial Communication Port", 482 483 #if defined(IN_RING3) -
trunk/src/VBox/Devices/Storage/DevAHCI.cpp
r80701 r80704 6244 6244 /* .cbInstanceRC = */ 0, 6245 6245 /* .cMaxPciDevices = */ 1, 6246 /* .cMaxMsixVectors = */ 0, 6246 6247 /* .pszDescription = */ "Intel AHCI controller.\n", 6247 6248 #if defined(IN_RING3) -
trunk/src/VBox/Devices/Storage/DevATA.cpp
r80701 r80704 8070 8070 /* .cbInstanceRC = */ 0, 8071 8071 /* .cMaxPciDevices = */ 1, 8072 /* .cMaxMsixVectors = */ 0, 8072 8073 /* .pszDescription = */ "Intel PIIX3 ATA controller.\n" 8073 8074 " LUN #0 is primary master.\n" -
trunk/src/VBox/Devices/Storage/DevBusLogic.cpp
r80701 r80704 4505 4505 /* .cbInstanceRC = */ 0, 4506 4506 /* .cMaxPciDevices = */ 1, 4507 /* .cMaxMsixVectors = */ 0, 4507 4508 /* .pszDescription = */ "BusLogic BT-958 SCSI host adapter.\n", 4508 4509 #if defined(IN_RING3) -
trunk/src/VBox/Devices/Storage/DevFdc.cpp
r80703 r80704 2849 2849 /* .cbInstanceRC = */ 0, 2850 2850 /* .cMaxPciDevices = */ 0, 2851 /* .cMaxMsixVectors = */ 0, 2851 2852 /* .pszDescription = */ "Floppy drive controller (Intel 82078)", 2852 2853 #if defined(IN_RING3) -
trunk/src/VBox/Devices/Storage/DevLsiLogicSCSI.cpp
r80702 r80704 5527 5527 MsiReg.iMsixNextOffset = 0x00; 5528 5528 MsiReg.iMsixBar = 3; 5529 Assert(pDevIns->pReg->cMaxMsixVectors >= MsiReg.cMsixVectors); /* fix device registration when enabling this */ 5529 5530 # else 5530 5531 MsiReg.cMsiVectors = 1; … … 5752 5753 /* .cbInstanceRC = */ 0, 5753 5754 /* .cMaxPciDevices = */ 1, 5755 /* .cMaxMsixVectors = */ 0, 5754 5756 /* .pszDescription = */ "LSI Logic 53c1030 SCSI controller.\n", 5755 5757 #if defined(IN_RING3) … … 5826 5828 /* .cbInstanceRC = */ 0, 5827 5829 /* .cMaxPciDevices = */ 1, 5830 /* .cMaxMsixVectors = */ 0, 5828 5831 /* .pszDescription = */ "LSI Logic SAS1068 controller.\n", 5829 5832 #if defined(IN_RING3) -
trunk/src/VBox/Devices/Storage/DevVirtioSCSI.cpp
r80701 r80704 2382 2382 /* .cbInstanceRC = */ 0, 2383 2383 /* .cMaxPciDevices = */ 1, 2384 /* .cMaxMsixVectors = */ 0, 2384 2385 /* .pszDescription = */ "Virtio Host SCSI.\n", 2385 2386 #if defined(IN_RING3) -
trunk/src/VBox/Devices/USB/DevOHCI.cpp
r80701 r80704 6160 6160 /* .cbInstanceRC = */ 0, 6161 6161 /* .cMaxPciDevices = */ 1, 6162 /* .cMaxMsixVectors = */ 0, 6162 6163 /* .pszDescription = */ "OHCI USB controller.\n", 6163 6164 #if defined(IN_RING3) -
trunk/src/VBox/Devices/VMMDev/VMMDev.cpp
r80701 r80704 4753 4753 /* .cbInstanceRC = */ 0, 4754 4754 /* .cMaxPciDevices = */ 1, 4755 /* .cMaxMsixVectors = */ 0, 4755 4756 /* .pszDescription = */ "VirtualBox VMM Device\n", 4756 4757 #if defined(IN_RING3) -
trunk/src/VBox/ExtPacks/BusMouseSample/BusMouse.cpp
r80703 r80704 845 845 /* .cbInstanceRC = */ 0, 846 846 /* .cMaxPciDevices = */ 0, 847 /* .cMaxMsixVectors = */ 0, 847 848 /* .pszDescription = */ "Microsoft Bus Mouse controller. LUN #0 is the mouse connector.", 848 849 # if defined(IN_RING3) -
trunk/src/VBox/VMM/VMMAll/APICAll.cpp
r80703 r80704 3525 3525 /* .cbInstanceRC = */ 0, 3526 3526 /* .cMaxPciDevices = */ 0, 3527 /* .cMaxMsixVectors = */ 0, 3527 3528 /* .pszDescription = */ "Advanced Programmable Interrupt Controller", 3528 3529 #if defined(IN_RING3) -
trunk/src/VBox/VMM/VMMR0/PDMR0Device.cpp
r80701 r80704 31 31 #include <VBox/vmm/hm.h> 32 32 #include <VBox/vmm/vmcc.h> 33 #include <VBox/vmm/gvmm.h> 33 34 34 35 #include <VBox/log.h> 35 36 #include <VBox/err.h> 36 #include <VBox/ vmm/gvmm.h>37 #include <VBox/msi.h> 37 38 #include <VBox/sup.h> 38 39 #include <iprt/asm.h> … … 1813 1814 AssertLogRelMsgReturn(pDevReg->cMaxInstances > 0, ("[%u]: %#x\n", i, pDevReg->cMaxInstances), VERR_INVALID_PARAMETER); 1814 1815 AssertLogRelMsgReturn(pDevReg->cMaxPciDevices <= 8, ("[%u]: %#x\n", i, pDevReg->cMaxPciDevices), VERR_INVALID_PARAMETER); 1816 AssertLogRelMsgReturn(pDevReg->cMaxMsixVectors <= VBOX_MSIX_MAX_ENTRIES, 1817 ("[%u]: %#x\n", i, pDevReg->cMaxMsixVectors), VERR_INVALID_PARAMETER); 1815 1818 1816 1819 /* The name must be printable ascii and correctly terminated. */ -
trunk/src/VBox/VMM/VMMR3/PDMDevHlp.cpp
r80701 r80704 1928 1928 ("'%s'/%d: cMaxPciDevices is 0\n", pDevIns->pReg->szName, pDevIns->iInstance), 1929 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 ),1930 AssertLogRelMsgReturn(pMsiReg->cMsixVectors <= pDevIns->pReg->cMaxMsixVectors, 1931 ("'%s'/%d: cMsixVectors=%u cMaxMsixVectors=%u\n", 1932 pDevIns->pReg->szName, pDevIns->iInstance, pMsiReg->cMsixVectors, pDevIns->pReg->cMaxMsixVectors), 1933 1933 VERR_INVALID_FLAGS); 1934 1934 -
trunk/src/VBox/VMM/VMMR3/PDMDevice.cpp
r80701 r80704 39 39 #include <VBox/version.h> 40 40 #include <VBox/log.h> 41 #include <VBox/msi.h> 41 42 #include <VBox/err.h> 42 43 #include <iprt/alloc.h> … … 762 763 AssertLogRelMsgReturn(pReg->cMaxPciDevices <= 8, ("%#x (szName=%s)\n", pReg->cMaxPciDevices, pReg->szName), 763 764 VERR_PDM_INVALID_DEVICE_REGISTRATION); 765 AssertLogRelMsgReturn(pReg->cMaxMsixVectors <= VBOX_MSIX_MAX_ENTRIES, 766 ("%#x (szName=%s)\n", pReg->cMaxMsixVectors, pReg->szName), 767 VERR_PDM_INVALID_DEVICE_REGISTRATION); 764 768 765 769 /*
Note:
See TracChangeset
for help on using the changeset viewer.