ACPI NMI LINT 是什么意思?为什么它会随着内核版本的不同而变化?

ACPI NMI LINT 是什么意思?为什么它会随着内核版本的不同而变化?

我想了解以下几行的含义

[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] dfl dfl lint[0x0])
[    0.000000] ACPI: NMI not connected to LINT 1!
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x02] dfl dfl lint[0x0])
[    0.000000] ACPI: NMI not connected to LINT 1!
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x03] dfl dfl lint[0x0])
[    0.000000] ACPI: NMI not connected to LINT 1!
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x04] dfl res lint[0x6f])
[    0.000000] ACPI: NMI not connected to LINT 1!

为什么倒数第二行的值会随着内核版本的不同而变化?

例如:
内核 4.9.3 是[0x6f]
内核 4.7.8[0x1f]
等等

答案1

既然您还没有得到正确的答案,我将尝试提供一个不完整的答案。 ACPI 是用于发现和配置硬件设备的接口。它们可以使用不可屏蔽中断 (NMI) 向 Linux 提供有关关键事件的信息。然后每个 NMI 连接到 Linux 中断。

所以LAPIC_NMI的意思是本地高级可编程中断控制器不可屏蔽中断。acpi_id[0x01]是该设备的 id。我相信 0x01..0x04 对应于您的计算机处理器核心。

然后由于某种原因,我不明白 Linux acpi 实现希望 NMI 连接到第一个 Linux 中断。在你的情况下,它不是,这可能意味着如果处理器核心生成 NMI,它不会被 Linux 正确捕获。

实际上,我认为这并不重要(但不要引用我的话),因为该机制应该捕获的中断极其罕见。

相关内容