我正在处理 NetBSD 上的一种情况,其中 NMI 已将我的盒子放入 DDB。我知道 NMI 可能是由于一些与内存相关的问题。我想内存映射的设备也可能导致我进入相同的场景。请就此纠正我。
我的理解是我需要读取所有这些设备的状态,可能是通过 pci。
我不知道它是什么以及如何。
在收到 NMI 时,会生成一个陷阱,将 NetBSD 放入 DDB 调试器。在那里很难从 DDB 获得任何东西。我的计划是不做任何事情就从陷阱中返回,这样错误就会导致内核核心转储。此外,在从陷阱返回之前,我想读取所需的寄存器/内存以转储所涉及设备的状态。这是我的行动计划。让我知道是否有更好和正确的方法来做到这一点。
我的目标是从这里的专家那里了解并提出一个逐步的计划来找到 NMI 的源头。