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中断的代码

本文探讨了Cadence和Synopsys在处理PCI Express Endpoint (PCIEEP) 中MSI中断时的代码差异。Cadence的实现会清除并重新设置msg_data中的中断号码,而Synopsys则直接或上中断号码,可能存在潜在问题。同时,文章提出了关于PCIE的Root Complex (RC) 是否修改PCIEEP的MSICAP结构体以及msg_data初始值来源的疑问,指出可能是由PCIERC侧的Software或PCIEEP侧的CPU写入。
489

被折叠的 条评论
为什么被折叠?



