一个简单的问题,但是我在规范和思维共享书中都找不到答案。 MSI具有告诉设备将中断消息发送到哪里的功能。是否有类似的寄存器告诉设备将错误消息发送到哪里?是否有一些专用地址/ bdf,具有某种“通过上游”的含义?它是否始终将所有零都用作目标地址,而根端口在途中将其拾取?
谢谢
答案 0 :(得分:1)
PCIe规范(修订版4.0)的2.2.4节介绍了基于地址和ID的路由。内存读取和写入基于内存地址进行路由。完成是通过ID路由的。
第2.2.8节介绍了消息的路由,包括错误消息。特别是,请参阅第105页的表2-17、2.2.8.3节和表2-21。表2-21显示错误信令消息的“路由”字段始终为0,表明它们已被路由到根联合体。
MSI功能没有有关PCIe路由的任何特殊信息。 MSI是使用内存写入事务执行的,因此按地址进行路由。