get rid of $Id$ - it has never helped us and it has broken too many patches ;)
[openwrt/staging/florian.git] / target / linux / brcm-2.4 / files / arch / mips / bcm947xx / generic / int-handler.S
1 /*
2 * Generic interrupt handler for Broadcom MIPS boards
3 *
4 * Copyright 2004, Broadcom Corporation
5 * All Rights Reserved.
6 *
7 * THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
8 * KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM
9 * SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
10 * FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE.
11 *
12 */
13
14 #include <linux/config.h>
15
16 #include <asm/asm.h>
17 #include <asm/mipsregs.h>
18 #include <asm/regdef.h>
19 #include <asm/stackframe.h>
20
21 /*
22 * MIPS IRQ Source
23 * -------- ------
24 * 0 Software (ignored)
25 * 1 Software (ignored)
26 * 2 Combined hardware interrupt (hw0)
27 * 3 Hardware
28 * 4 Hardware
29 * 5 Hardware
30 * 6 Hardware
31 * 7 R4k timer
32 */
33
34 .text
35 .set noreorder
36 .set noat
37 .align 5
38 NESTED(brcmIRQ, PT_SIZE, sp)
39 SAVE_ALL
40 CLI
41 .set at
42 .set noreorder
43
44 jal brcm_irq_dispatch
45 move a0, sp
46
47 j ret_from_irq
48 nop
49
50 END(brcmIRQ)