Во-первых, в вашем файле, который вы здесь показываете, нет соответствующих данных. И предполагая, что вы нашли файл с данными, которые вы собираетесь искать, вы должны вызвать grep
с параметрами:
grep -zoP
-z будет рассматривать файл как одну огромную строку. -o вы получите только соответствующую часть -P активирует механизм регулярных выражений Perl, что позволит grep понять, какие регулярные выражения у вас есть.
Не-числовые записи в /proc/interrupts
соответствуют специфическим -для архитектуры, не связанным с -устройством -прерываниям.
В x86 макет IDT описан в arch/x86/include/asm/irq_vectors.h
:
- Vectors 0... 31 : system traps and exceptions - hardcoded events
- Vectors 32... 127 : device interrupts
- Vector 128 : legacy int80 syscall interface
- Vectors 129... LOCAL_TIMER_VECTOR-1
- Vectors LOCAL_TIMER_VECTOR... 255 : special interrupts
Прерывания, специфичные для архитектуры -, обрабатываются записями IDT от 0 до 31 и от 129 до 255, причем прерывание локального таймера первое в последнем диапазоне. Поэтому, когда вы видите 0 в /proc/interrupts
, это запись IDT 32; когда вы видите NMI, это запись 2; и т. д. Сама IDT устанавливается в arch/x86/kernel/idt.c
.