我想了解以下几行的含义
[ 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 正确捕获。
实际上,我认为这并不重要(但不要引用我的话),因为该机制应该捕获的中断极其罕见。