HasWell CPU PCIE Error 屏蔽的两种办法
在做PCIE卡设备热插拔,或者需要强行断掉PCIE卡的供电且不导致系统重启的情况下,HaswellCPU提供了多种方式。
方式一是利用PCIE的PCIE 和AER capability的相关位,屏蔽这些位可以防止上述操作导致系统重启;清除这些位后并打开屏蔽位后,就可以继续向CPU传递PCI的各种错误。下面分别讲述如何屏幕和打开错误使能位然后执行相应PCIE卡槽的操作。
1. Disable AER:
I. Disable PCIE capability 的Devctl中的ce/nfe/fereporting;
II. 设置AER capability的ue/ce mask.
III. PCIE卡的掉电、拔出操作
2. Enable AER:
I. Clear AER capability的ue/ce status;
II. Enable AER capability的ue/ce report;
III. Enable PCIE capability的Devctl中的ce/nfe/fe reporting.
IV. PCIE卡的上电、插入操作
方式二是利用SMI异常使能位。在需要屏蔽操作PCIE卡导致的错误和重启时,屏蔽SMI异常;在操作完成之后,再次使能SMI。具体步骤如下:
1. Disable SMI:
参考507849_Haswell_EDS_vol2Page 1589
设置 offset 19c/1A0/1A4/1C8,亦即gnerrmask/gferrmask/gcerrmask/gerrctl 全局寄存器相关mask为置1。 具体请参加手册, 以gnerrmask为例:
2. Enable SMI:
把上面相应的mask bit 都清掉。