我想了解以下几行的含义
[ 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]
等等
解决方法:
既然你没有得到正确的答案,我会尝试提供一个不完整的答案. ACPI是用于发现和配置硬件设备的接口.他们可以使用不可屏蔽中断(NMI)为Linux提供有关关键事件的信息.然后将每个NMI连接到Linux中断.
因此LAPIC_NMI表示本地高级可编程中断控制器不可屏蔽中断. acpi_id [0x01]是该设备的ID.我相信0x01..0x04对应于您的计算机处理器核心.
然后由于某种原因我不明白Linux acpi实现希望NMI连接到第一个Linux中断.在你的情况下,它不是,它可能意味着如果处理器核心生成NMI,它不会被Linux正确捕获.
在实践中,我认为这不重要(但不要引用我)因为机制应该捕获的中断非常罕见.