1 /*
2  * sun3ints.h -- Linux/Sun3 interrupt handling code definitions
3  *
4  * Erik Verbruggen (erik@bigmama.xtdnet.nl)
5  *
6  * This file is subject to the terms and conditions of the GNU General Public
7  * License.  See the file COPYING in the main directory of this archive for
8  * more details.
9  */
10 
11 #ifndef SUN3INTS_H
12 #define SUN3INTS_H
13 
14 #include <linux/types.h>
15 #include <linux/kernel.h>
16 #include <linux/sched.h>
17 #include <linux/kernel_stat.h>
18 #include <linux/interrupt.h>
19 #include <asm/segment.h>
20 #include <asm/intersil.h>
21 #include <asm/oplib.h>
22 
23 #define SUN3_INT_VECS 192
24 
25 void sun3_enable_irq(unsigned int irq);
26 void sun3_disable_irq(unsigned int irq);
27 int sun3_request_irq(unsigned int irq,
28                      void (*handler)(int, void *, struct pt_regs *),
29                      unsigned long flags, const char *devname, void *dev_id
30 		    );
31 extern void sun3_init_IRQ (void);
32 extern void (*sun3_default_handler[]) (int, void *, struct pt_regs *);
33 extern void (*sun3_inthandler[]) (int, void *, struct pt_regs *);
34 extern void sun3_free_irq (unsigned int irq, void *dev_id);
35 extern void sun3_enable_interrupts (void);
36 extern void sun3_disable_interrupts (void);
37 extern int sun3_get_irq_list(char *buf);
38 extern void sun3_process_int(int, struct pt_regs *);
39 extern volatile unsigned char* sun3_intreg;
40 
41 /* master list of VME vectors -- don't fuck with this */
42 #define SUN3_VEC_FLOPPY 0x40
43 #define SUN3_VEC_VMESCSI0 0x40
44 #define SUN3_VEC_VMESCSI1 0x41
45 #define SUN3_VEC_CG 0xA8
46 
47 
48 #endif /* SUN3INTS_H */
49