PCIe错误的Firmware first model和OS native model
PCIe错误的Firmware first model和OS native model Firmwa… 继续阅读 PCIe错误的Firmware first model和OS native model
PCIe错误的Firmware first model和OS native model Firmwa… 继续阅读 PCIe错误的Firmware first model和OS native model
Spec为标准热插拔控制器定义了一套标准的寄存器组,即PCI Express Capbilities结构里面包含的内容。PCI Express Capbilities结构的Cap ID为0x10,可以容易的根据ID找到这个结构。
对于热插拔,Spec对于所谓插槽(插卡)的ON、OFF状态都做了比较清晰的定义,如下
上一节讲到,Spec定义的热插拔是把一个PCIe卡(设备)从一个正在运行的背板或者系统中插入/或者移除。这个过程需要不影响系统的其他功能。插入的新的设备可以正确工作。
从今天起,我们讨论一下有关于“热插拔”的话题。为什么要有“热插拔”?
继续详细讲解MSI-X相关的使用。
在Linux下,AER(Advanced ErrorReport)驱动都是注册给通用的Port Bus Driver,称之为service driver。除了AER,还有热插拔等驱动也是采用类似的注册方式。
我们开始讨论一下有关于PCIe错误相关的内容。每种协议都有各自定义的错误。每种硬件也会有各种错误。从某种意义上来说,开发人员存在的价值不仅在于实现各种协议的实现,更多的是去解决这些千奇百怪的错误。错误的相关内容包括:错误分类、错误检测、错误记录、错误通知、错误报告、错误处理等等。
前面讲到,PCIe错误消息(Error Message)是需要上报给PCIe域的老大Root Complex的。今天详细的来看看是如何支持错误信息上报控制的。