参照元†
- 割り込みハンドラの初期化、後始末を行うコード(機種依存部分)。
返り値†
/*
* the CPU automatically disables interrupts when executing an IRQ vector,
* so IRQ-flags tracing has to follow that:
*/
.p2align CONFIG_X86_L1_CACHE_SHIFT
- L1 キャッシュの先頭に乗るように境界合わせをする。
- 割り込み処理は頻繁に呼び出されるため、
キャッシュ効率を上げる工夫をしている。
- .p2align は 2のべき乗(power of 2)で境界合わせをせよ、
という gas の疑似命令である
- 例えば CONFIG_X86_L1_CACHE_SHIFT が 5 なら、
32バイト境界にコードが配置される
- linux-2.6.33/CONFIG_X86_L1_CACHE_SHIFT
common_interrupt:
addl $-0x80,(%esp) /* Adjust vector into the [-256,-1] range */
SAVE_ALL
TRACE_IRQS_OFF
movl %esp,%eax
call do_IRQ
jmp ret_from_intr
ENDPROC(common_interrupt)
CFI_ENDPROC
コメント†