QnA Asked: 2019-09-09 18:44:47 +0800 CST2019-09-09 18:44:47 +0800 CST 2019-09-09 18:44:47 +0800 CST /proc/interrupts 中的非数字 IRQ 是什么? 772 cat /proc/interrupts显示一堆 IRQ,例如NMI和LOC。输出中的每行注释给出了清晰的解释,但如果它们没有数字 IRQ 编号,x86 CPU 如何响应它们,就中断描述符表中的条目而言? linux-kernel 1 个回答 Voted Best Answer Stephen Kitt 2019-09-09T20:50:20+08:002019-09-09T20:50:20+08:00 中的非数字条目/proc/interrupts对应于特定于架构的、非设备相关的中断。 在 x86 上,IDT 布局描述arch/x86/include/asm/irq_vectors.h如下: 向量 0 ... 31:系统陷阱和异常 - 硬编码事件 向量 32 ... 127:设备中断 向量 128:旧版 int80 系统调用接口 向量 129 ... LOCAL_TIMER_VECTOR-1 向量 LOCAL_TIMER_VECTOR ... 255:特殊中断 特定于架构的中断由从 0 到 31 和从 129 到 255 的 IDT 条目处理,本地定时器中断在后一个范围内是第一个。因此,当您在 中看到 0 时/proc/interrupts,它是 IDT 条目 32;当你看到 NMI 时,它是条目 2;等 IDT 本身设置在arch/x86/kernel/idt.c.
中的非数字条目
/proc/interrupts
对应于特定于架构的、非设备相关的中断。在 x86 上,IDT 布局描述
arch/x86/include/asm/irq_vectors.h
如下:特定于架构的中断由从 0 到 31 和从 129 到 255 的 IDT 条目处理,本地定时器中断在后一个范围内是第一个。因此,当您在 中看到 0 时
/proc/interrupts
,它是 IDT 条目 32;当你看到 NMI 时,它是条目 2;等 IDT 本身设置在arch/x86/kernel/idt.c
.