blob: fd838eb14213298e72087e2db892064449599705 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
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 <linux/seq_file.h>
20#include <asm/segment.h>
21#include <asm/intersil.h>
22#include <asm/oplib.h>
23
24#define SUN3_INT_VECS 192
25
26void sun3_enable_irq(unsigned int irq);
27void sun3_disable_irq(unsigned int irq);
28int sun3_request_irq(unsigned int irq,
29 irqreturn_t (*handler)(int, void *, struct pt_regs *),
30 unsigned long flags, const char *devname, void *dev_id
31 );
32extern void sun3_init_IRQ (void);
33extern irqreturn_t (*sun3_default_handler[]) (int, void *, struct pt_regs *);
34extern irqreturn_t (*sun3_inthandler[]) (int, void *, struct pt_regs *);
35extern void sun3_free_irq (unsigned int irq, void *dev_id);
36extern void sun3_enable_interrupts (void);
37extern void sun3_disable_interrupts (void);
38extern int show_sun3_interrupts(struct seq_file *, void *);
39extern irqreturn_t sun3_process_int(int, struct pt_regs *);
40extern volatile unsigned char* sun3_intreg;
41
42/* master list of VME vectors -- don't fuck with this */
43#define SUN3_VEC_FLOPPY 0x40
44#define SUN3_VEC_VMESCSI0 0x40
45#define SUN3_VEC_VMESCSI1 0x41
46#define SUN3_VEC_CG 0xA8
47
48
49#endif /* SUN3INTS_H */