cdb45c3e16a01c2200cc2d02ee73b86b6a5c4225
[openwrt-10.03/.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  * $Id: int-handler.S,v 1.1 2005/03/16 13:50:00 wbx Exp $
13  */
14
15 #include <linux/config.h>
16
17 #include <asm/asm.h>
18 #include <asm/mipsregs.h>
19 #include <asm/regdef.h>
20 #include <asm/stackframe.h>
21
22 /*
23  *      MIPS IRQ        Source
24  *      --------        ------
25  *             0        Software (ignored)
26  *             1        Software (ignored)
27  *             2        Combined hardware interrupt (hw0)
28  *             3        Hardware
29  *             4        Hardware
30  *             5        Hardware
31  *             6        Hardware
32  *             7        R4k timer
33  */
34
35         .text
36         .set    noreorder
37         .set    noat
38         .align  5
39         NESTED(brcmIRQ, PT_SIZE, sp)
40         SAVE_ALL
41         CLI
42         .set    at
43     .set    noreorder
44
45         jal         brcm_irq_dispatch
46          move   a0, sp
47
48         j           ret_from_irq
49          nop
50                 
51         END(brcmIRQ)