Forum Discussion

agula's avatar
agula
Icon for Occasional Contributor rankOccasional Contributor
5 years ago

PCIe Arria 10 HIP MSI-X

Hello,

I'm wondering if I could receive any guidance or documentation for MSI-X interrupt generation. For example, could I receive more clarification on the Vector Control field defined in the MSI-X table? What does the concept of masking refer to and how do I detect if it is masked? Additionally, how do I pass a message to the interrupt service routine of the host SW? There is a message field in the MSI-X table, can I put the message I want the software to receive when servicing the ISR? If not, what is the standard way for doing this?

Thank you!

5 Replies

    • agula's avatar
      agula
      Icon for Occasional Contributor rankOccasional Contributor

      Thank you for sharing this. Based on this section, it seems the only way to send data to the software is by creating a separate memory write to a DMA region in the software driver. Is this the case?

  • SengKok_L_Intel's avatar
    SengKok_L_Intel
    Icon for Regular Contributor rankRegular Contributor

    Yes, software needs to setup the MSI-X table via any of the BAR at the application layer.


    Regards -SK


  • SengKok_L_Intel's avatar
    SengKok_L_Intel
    Icon for Regular Contributor rankRegular Contributor

    If further support is needed in this thread, please post a response within 15 days. After 15 days, this thread will be transitioned to community support. The community users will be able to help you with your follow-up questions.


    • agula's avatar
      agula
      Icon for Occasional Contributor rankOccasional Contributor

      Hi,

      When trying to use MSI-X interrupts on a virtual function, the host crashes. The host crashes when trying to use request_irq(). When using MSI-X interrupts in virtual functions can you use any BAR entry for the MSI-X table ? Does this memory region also need to be readable by the host machine or only write able ? Setting up the MSI-X table from the host PC doesn't seem to be an issue with the physical function. The user guide for this says multi-function variants can only access MSI-X table from BAR 4. Although, I am not sure if this is a mistake because the mega function wizard does not restrict me from setting the BAR to 0.

      Thank you