/proc/interruptsの数値ではないIRQは何ですか?

/proc/interruptsの数値ではないIRQは何ですか?

cat /proc/interruptsNMIとなどのIRQを表示しますLOC。出力の各行の説明は明確な説明を提供しますが、数値IRQ番号がない場合、x86 CPUは割り込み記述子テーブルのエントリに基づいてどのように応答しますか?

ベストアンサー1

数値以外の項目は、アーキテクチャ固有の/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/interruptsIDTエントリ32、NMIが表示されている場合はエントリ2です。 IDT自体は次のように設定されます。arch/x86/kernel/idt.c

おすすめ記事