entry-armv.S (706fdd9faaad5bd52c774190a54c0fd1dfc0f418) | entry-armv.S (791be9b976ba621b21745c30a7fca225fada9110) |
---|---|
1/* 2 * linux/arch/arm/kernel/entry-armv.S 3 * 4 * Copyright (C) 1996,1997,1998 Russell King. 5 * ARM700 fix by Matthew Godbolt (linux-user@willothewisp.demon.co.uk) 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License version 2 as --- 20 unchanged lines hidden (view full) --- 29 .macro irq_handler 301: get_irqnr_and_base r0, r6, r5, lr 31 movne r1, sp 32 @ 33 @ routine called with r0 = irq number, r1 = struct pt_regs * 34 @ 35 adrne lr, 1b 36 bne asm_do_IRQ | 1/* 2 * linux/arch/arm/kernel/entry-armv.S 3 * 4 * Copyright (C) 1996,1997,1998 Russell King. 5 * ARM700 fix by Matthew Godbolt (linux-user@willothewisp.demon.co.uk) 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License version 2 as --- 20 unchanged lines hidden (view full) --- 29 .macro irq_handler 301: get_irqnr_and_base r0, r6, r5, lr 31 movne r1, sp 32 @ 33 @ routine called with r0 = irq number, r1 = struct pt_regs * 34 @ 35 adrne lr, 1b 36 bne asm_do_IRQ |
37 38#ifdef CONFIG_SMP 39 /* 40 * XXX 41 * 42 * this macro assumes that irqstat (r6) and base (r5) are 43 * preserved from get_irqnr_and_base above 44 */ 45 test_for_ipi r0, r6, r5, lr 46 movne r0, sp 47 adrne lr, 1b 48 bne do_IPI 49#endif 50 |
|
37 .endm 38 39/* 40 * Invalid mode handlers 41 */ 42 .macro inv_entry, sym, reason 43 sub sp, sp, #S_FRAME_SIZE @ Allocate frame size in one go 44 stmia sp, {r0 - lr} @ Save XXX r0 - lr --- 895 unchanged lines hidden --- | 51 .endm 52 53/* 54 * Invalid mode handlers 55 */ 56 .macro inv_entry, sym, reason 57 sub sp, sp, #S_FRAME_SIZE @ Allocate frame size in one go 58 stmia sp, {r0 - lr} @ Save XXX r0 - lr --- 895 unchanged lines hidden --- |