Note1: PCIE EP的MSI CAP结构体中msg_data有16位;先读取cap中的msg_data。如果msi中断编号占用N个bit位,cadence的代码会先清除这些bit位,然后在这些比特位上重新填充msi中断号码;synopsys的代码直接读取msg_data后直接或上msi的中断号码;synopsys的操作是部严谨的,可能会有问题。
Note2: PCIE的RC会不会修改PCIE EP侧MSI CAP结构体中的msg_data?msg_data的初始值谁来写入,PCIE RC侧的Software通过发送CfgTLP来写入,还是PCIE EP侧的CPU通过local bus写入?
1. cadence的pcie ep发送msi中断的代码
2. synopsys的pcie ep发送msi中断的代码
3. mobiveil的pcie ep发送msi中断的代码