00001
00009
00010
00011 #ifndef INTERRUPT_H
00012 #define INTERRUPT_H
00013
00015 #define IRQ_ADDR 0x80000180
00016
00017 #define TRAPVEC_ADDR 0x80000200
00018
00019 #define IRQVEC_ADDR 0x80000280
00020
00021 #define IRQVEC_END 0x800002A0
00022
00029 #define exceptionVector ((interrupt (**)(void))TRAPVEC_ADDR)
00030 #define interruptVector ((interrupt (**)(void))IRQVEC_ADDR)
00031
00032
00033 #define IRQ_SW0 0
00034 #define IRQ_SW1 1
00035 #define IRQ_HW0 2
00036 #define IRQ_HW1 3
00037 #define IRQ_HW2 4
00038 #define IRQ_HW3 5
00039 #define IRQ_HW4 6
00040 #define IRQ_HW5 7
00041
00042
00043 #define IRQ_TIMER IRQ_HW5
00044 #define IRQ_UART IRQ_HW1
00045 #define IRQ_ETH0 IRQ_HW2
00046 #define IRQ_ETH1 IRQ_HW0
00047
00048
00049 #define IRQREC_ZER 24
00050 #define IRQREC_AT 28
00051 #define IRQREC_V0 32
00052 #define IRQREC_V1 36
00053 #define IRQREC_A0 40
00054 #define IRQREC_A1 44
00055 #define IRQREC_A2 48
00056 #define IRQREC_A3 52
00057 #define IRQREC_T0 56
00058 #define IRQREC_T1 60
00059 #define IRQREC_T2 64
00060 #define IRQREC_T3 68
00061 #define IRQREC_T4 72
00062 #define IRQREC_T5 76
00063 #define IRQREC_T6 80
00064 #define IRQREC_T7 84
00065 #define IRQREC_S0 88
00066 #define IRQREC_S1 92
00067 #define IRQREC_S2 96
00068 #define IRQREC_S3 100
00069 #define IRQREC_S4 104
00070 #define IRQREC_S5 108
00071 #define IRQREC_S6 112
00072 #define IRQREC_S7 116
00073 #define IRQREC_T8 120
00074 #define IRQREC_T9 124
00075 #define IRQREC_K0 128
00076 #define IRQREC_K1 132
00077 #define IRQREC_GP 136
00078 #define IRQREC_SP 140
00079 #define IRQREC_FP 144
00080 #define IRQREC_RA 148
00081 #define IRQREC_LO 152
00082 #define IRQREC_HI 156
00083 #define IRQREC_EPC 160
00084 #define IRQREC_CAUSE 164
00085 #define IRQREC_STATUS 168
00086 #define IRQREC_SIZE 172
00087
00088 #endif