Testing UEFI外壳下memroy测试中如何检测ECC错误

Testing UEFI外壳下memroy测试中如何检测ECC错误,testing,memory,bios,efi,uefi,Testing,Memory,Bios,Efi,Uefi,我编写了一个EFI二进制文件来测试UEFI外壳下的物理DIMM,过程非常简单-首先将测试模式写入物理地址,然后读取并与原始模式进行比较。 但是,DIMM可能会遇到可纠正或不可纠正的错误。正常情况下,所有可纠正的ECC将由硬件自动纠正,BIOS将对此进行处理(记录此错误并清除错误寄存器),不可纠正的错误通常会导致BIOS发出NMI,然后系统挂起 问题是我的测试程序不知道错误的发生-可纠正的错误被BIOS FW屏蔽,不可纠正的错误使系统挂起 有没有办法让测试程序知道ECC错误的发生?如果您有任何建议

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

问题是我的测试程序不知道错误的发生-可纠正的错误被BIOS FW屏蔽,不可纠正的错误使系统挂起


有没有办法让测试程序知道ECC错误的发生?如果您有任何建议,我将不胜感激。谢谢

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

一旦这样做了,您的程序就可以处理指示ECC错误的所有中断和CPU寄存器

一旦完成,您的程序将进行软重置,这将引导系统返回EFI