Import 2.3.9pre5
[davej-history.git] / include / asm-mips / dec / interrupts.h
blob524e94b68d9e2343c8024d069161ecbac8c3935b
1 /*
2 * Miscellaneous definitions used to initialise the interrupt vector table
3 * with the machine-specific interrupt routines.
5 * This file is subject to the terms and conditions of the GNU General Public
6 * License. See the file "COPYING" in the main directory of this archive
7 * for more details.
9 * Copyright (C) 1997 by Paul M. Antoine.
10 * reworked 1998 by Harald Koerfgen.
13 #ifndef __ASM_DEC_INTERRUPTS_H
14 #define __ASM_DEC_INTERRUPTS_H
17 * DECstation Interrupts
21 * This list reflects the priority of the Interrupts.
22 * Exception: on kmins we have to handle Memory Error
23 * Interrupts before the TC Interrupts.
25 #define CLOCK 0
26 #define SCSI_DMA_INT 1
27 #define SCSI_INT 2
28 #define ETHER 3
29 #define SERIAL 4
30 #define TC0 5
31 #define TC1 6
32 #define TC2 7
33 #define MEMORY 8
34 #define FPU 9
35 #define HALT 10
37 #define NR_INTS 11
39 #ifndef _LANGUAGE_ASSEMBLY
41 * Data structure to hide the differences between the DECstation Interrupts
43 * If asic_mask == NULL, the interrupt is directly handled by the CPU.
44 * Otherwise this Interrupt is handled the IRQ Controller.
47 typedef struct
49 unsigned int cpu_mask; /* checking and enabling interrupts in CP0 */
50 unsigned int iemask; /* enabling interrupts in IRQ Controller */
51 } decint_t;
54 * Interrupt table structure to hide differences between different
55 * systems such.
57 extern void *cpu_ivec_tbl[8];
58 extern long cpu_mask_tbl[8];
59 extern long cpu_irq_nr[8];
60 extern long asic_irq_nr[32];
61 extern long asic_mask_tbl[32];
64 * Common interrupt routine prototypes for all DECStations
66 extern void dec_intr_unimplemented(void);
67 extern void dec_intr_fpu(void);
68 extern void dec_intr_rtc(void);
70 extern void kn02_io_int(void);
71 extern void kn02ba_io_int(void);
72 extern void kn03_io_int(void);
74 extern void intr_halt(void);
76 extern void asic_intr_unimplemented(void);
78 #endif
79 #endif