一般情况下,linux内核使用NMI handler来检测系统长时间关闭外部中断。所以我想知道 smi 处理程序是否花费了很长时间是否会导致硬件锁定。当在 smm 处理程序中时,外部中断和 NMI 中断被阻止。 在此处输入图像描述
- 1htmier 更新值
- 1nmi 检查值是否已更新
- 1smi 需要很长时间,所以 2hitimer 到 4hitimer 被屏蔽,值无法更新
- 在 1smi 退出后,nmi 具有较高的优先级,因此 2nmi 处理程序发现该值是旧的,导致 hardeare 锁定。这个逻辑正确吗?操作系统对SMI中断不敏感,操作系统如何处理这种情况