1

我编写了一个 EFI 二进制文件来测试 UEFI shell 下的物理 DIMM,过程非常简单 - 首先将测试模式写入物理地址,然后将其读出并与原始模式进行比较。但是,DIMM 可能会遇到可纠正或不可纠正的错误。通常所有可纠正的 ECC 都会被硬件自动纠正,BIOS 会处理这个问题(记录这个错误并清理错误寄存器),不可纠正的错误通常会导致 BIOS 发出 NMI,然后系统挂起。

问题是我的测试程序不知道错误发生 - 可纠正的错误被 BIOS 固件掩盖,不可纠正的错误使系统挂起......

有什么方法可以让测试程序知道发生 ECC 错误吗?如果您有任何建议,我将不胜感激。谢谢!

4

1 回答 1

0

我相信要做到这一点,您的程序将需要对硬件进行最终控制。这意味着它需要完全启动并删除 EFI 环境。

完成此操作后,您的程序就可以处理所有指示 ECC 错误的中断和 CPU 寄存器。

完成后,您的程序将执行软重置,并将系统引导回 EFI。

于 2013-07-23T23:36:05.137 回答