众所周知,MSI 中的消息数据用于指示您要触发哪个向量。 但是,在 MSI-X 中,不同的向量有不同的消息地址。所以,看起来像 MSI-X 中的消息数据 是没用的。 如果这是正确的,那么为什么 PCIe 规范要这样设计 MSI-X?
1: Linux 内核中没有 API 来设置 MSI-X 的消息数据吗? 2:主机驱动程序无法获取消息数据,对吧?
MSI-X是从EP到RC的信号指示消息,MSI-X消息仅用于EP
消息数据是在函数 arch_setup_msi_irq(msi.c) 中设置的,但我只发现 xilinx PCIe 桥使用消息数据属性,所以我认为主机驱动程序不使用消息数据。