50 строки
1.5 KiB
C
50 строки
1.5 KiB
C
|
/*
|
||
|
* sun3ints.h -- Linux/Sun3 interrupt handling code definitions
|
||
|
*
|
||
|
* Erik Verbruggen (erik@bigmama.xtdnet.nl)
|
||
|
*
|
||
|
* This file is subject to the terms and conditions of the GNU General Public
|
||
|
* License. See the file COPYING in the main directory of this archive for
|
||
|
* more details.
|
||
|
*/
|
||
|
|
||
|
#ifndef SUN3INTS_H
|
||
|
#define SUN3INTS_H
|
||
|
|
||
|
#include <linux/types.h>
|
||
|
#include <linux/kernel.h>
|
||
|
#include <linux/sched.h>
|
||
|
#include <linux/kernel_stat.h>
|
||
|
#include <linux/interrupt.h>
|
||
|
#include <linux/seq_file.h>
|
||
|
#include <asm/segment.h>
|
||
|
#include <asm/intersil.h>
|
||
|
#include <asm/oplib.h>
|
||
|
|
||
|
#define SUN3_INT_VECS 192
|
||
|
|
||
|
void sun3_enable_irq(unsigned int irq);
|
||
|
void sun3_disable_irq(unsigned int irq);
|
||
|
int sun3_request_irq(unsigned int irq,
|
||
|
irqreturn_t (*handler)(int, void *, struct pt_regs *),
|
||
|
unsigned long flags, const char *devname, void *dev_id
|
||
|
);
|
||
|
extern void sun3_init_IRQ (void);
|
||
|
extern irqreturn_t (*sun3_default_handler[]) (int, void *, struct pt_regs *);
|
||
|
extern irqreturn_t (*sun3_inthandler[]) (int, void *, struct pt_regs *);
|
||
|
extern void sun3_free_irq (unsigned int irq, void *dev_id);
|
||
|
extern void sun3_enable_interrupts (void);
|
||
|
extern void sun3_disable_interrupts (void);
|
||
|
extern int show_sun3_interrupts(struct seq_file *, void *);
|
||
|
extern irqreturn_t sun3_process_int(int, struct pt_regs *);
|
||
|
extern volatile unsigned char* sun3_intreg;
|
||
|
|
||
|
/* master list of VME vectors -- don't fuck with this */
|
||
|
#define SUN3_VEC_FLOPPY 0x40
|
||
|
#define SUN3_VEC_VMESCSI0 0x40
|
||
|
#define SUN3_VEC_VMESCSI1 0x41
|
||
|
#define SUN3_VEC_CG 0xA8
|
||
|
|
||
|
|
||
|
#endif /* SUN3INTS_H */
|