如何在UEFI shell下检测内存测试中的ECC错误

时间:2013-05-09 02:13:27

标签: testing memory bios efi uefi

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

问题是我的测试程序不知道错误发生 - BIOS FW掩盖了可纠正的错误,并且无法纠正的错误导致系统挂起......

是否有任何方法让测试程序知道ECC错误发生?我很感激您的任何建议。谢谢!

1 个答案:

答案 0 :(得分:0)

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

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

完成后,程序将进行软重置,然后将系统重新引导回EFI。