Merge with git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
[linux-2.6] / arch / mips / mips-boards / sim / sim_int.c
1 /*
2  * Copyright (C) 1999, 2005 MIPS Technologies, Inc.  All rights reserved.
3  *
4  *  This program is free software; you can distribute it and/or modify it
5  *  under the terms of the GNU General Public License (Version 2) as
6  *  published by the Free Software Foundation.
7  *
8  *  This program is distributed in the hope it will be useful, but WITHOUT
9  *  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10  *  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
11  *  for more details.
12  *
13  *  You should have received a copy of the GNU General Public License along
14  *  with this program; if not, write to the Free Software Foundation, Inc.,
15  *  59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
16  *
17  */
18 #include <linux/init.h>
19 #include <linux/sched.h>
20 #include <linux/slab.h>
21 #include <linux/interrupt.h>
22 #include <linux/kernel_stat.h>
23 #include <asm/mips-boards/simint.h>
24
25
26 extern void mips_cpu_irq_init(int);
27
28 extern asmlinkage void simIRQ(void);
29
30 asmlinkage void sim_hw0_irqdispatch(struct pt_regs *regs)
31 {
32         do_IRQ(2, regs);
33 }
34
35 void __init arch_init_irq(void)
36 {
37         /* Now safe to set the exception vector. */
38         set_except_vector(0, simIRQ);
39
40         mips_cpu_irq_init(MIPSCPU_INT_BASE);
41 }