*参照元 [#l95f68b6] #backlinks *説明 [#l95f440d] -パス: [[linux-2.6.33/arch/arm/kernel/entry-armv.S]] -FIXME: これは何? --説明 **引数 [#y59c7679] - -- **返り値 [#d67dacee] - -- **参考 [#w8ca25d6] *実装 [#r0f5f2f6] /* * Interrupt handling. Preserves r7, r8, r9 */ .macro irq_handler get_irqnr_preamble r5, lr - --[[linux-2.6.33/get_irqnr_preamble()]] 1: get_irqnr_and_base r0, r6, r5, lr - --[[linux-2.6.33/get_irqnr_and_base()]] movne r1, sp -Z フラグなしなら r1 に sp を入れる??? @ @ routine called with r0 = irq number, r1 = struct pt_regs * @ adrne lr, BSYM(1b) bne asm_do_IRQ - --[[linux-2.6.33/BSYM()]] - --[[linux-2.6.33/asm_do_IRQ()]] #ifdef CONFIG_SMP - --[[linux-2.6.33/CONFIG_SMP]] /* * XXX * * this macro assumes that irqstat (r6) and base (r5) are * preserved from get_irqnr_and_base above */ test_for_ipi r0, r6, r5, lr movne r0, sp adrne lr, BSYM(1b) bne do_IPI - --[[linux-2.6.33/do_IPI()]] #ifdef CONFIG_LOCAL_TIMERS - --[[linux-2.6.33/CONFIG_LOCAL_TIMERS]] test_for_ltirq r0, r6, r5, lr movne r0, sp adrne lr, BSYM(1b) bne do_local_timer - --[[linux-2.6.33/do_local_timer()]] #endif #endif .endm *コメント [#ud21c148]