Article ID: 000081214 Content Type: Troubleshooting Last Reviewed: 03/29/2023

Why is the PCI Express MSI-X table missing and not enabled in my Configuration via Protocol (CvP) Init design?

Environment

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Description

MSI-X capabilities will be disabled in Configuration via Protocol (CvP) initialization mode designs if the PCI Express driver attempts to enumerate the device registers before the core is loaded. The MSI-X table requires the core to be loaded because the memory for the table is found in the core image. The table is not available in the periphery CvP image.

Resolution
  1. Set up the MSI-X in the PCI Express variant being used and ensure MSI-X is enabled.
  2. Load the periphery image via flash.
  3. When in the OS, load the core image via software driver (i.e. quartus_cvp).
  4. If a prior driver was set.up:
    Uninstall and reinstall the driver for PCI Express.
    OR
    Disable and re-enable the driver.
  5. Observe that the MSI-X table is set up and interrupts can be observed on the link.

Related Products

This article applies to 16 products

Cyclone® V SE SoC FPGA
Cyclone® V ST SoC FPGA
Cyclone® V SX SoC FPGA
Stratix® V GS FPGA
Stratix® V GT FPGA
Stratix® V GX FPGA
Intel® Arria® 10 GX FPGA
Arria® V GX FPGA
Cyclone® V GT FPGA
Arria® V GT FPGA
Intel® Arria® 10 SX SoC FPGA
Arria® V GZ FPGA
Intel® Arria® 10 GT FPGA
Cyclone® V GX FPGA
Arria® V ST SoC FPGA
Arria® V SX SoC FPGA

1