Rev 3022 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3022 | Rev 4055 | ||
---|---|---|---|
Line 48... | Line 48... | ||
48 | */ |
48 | */ |
49 | #define IVT_ITEMS 0 |
49 | #define IVT_ITEMS 0 |
50 | #define IVT_FIRST 0 |
50 | #define IVT_FIRST 0 |
51 | 51 | ||
52 | /** External Interrupt vectors. */ |
52 | /** External Interrupt vectors. */ |
- | 53 | ||
- | 54 | #define VECTOR_TLB_SHOOTDOWN_IPI 0xf0 |
|
53 | #define INTERRUPT_TIMER 255 |
55 | #define INTERRUPT_TIMER 255 |
54 | #define IRQ_KBD 241 |
56 | #define IRQ_KBD (0x01 + LEGACY_INTERRUPT_BASE) |
55 | #define IRQ_MOUSE 252 |
57 | #define IRQ_MOUSE (0x0c + LEGACY_INTERRUPT_BASE) |
56 | #define INTERRUPT_SPURIOUS 15 |
58 | #define INTERRUPT_SPURIOUS 15 |
- | 59 | #define LEGACY_INTERRUPT_BASE 0x20 |
|
57 | 60 | ||
58 | /** General Exception codes. */ |
61 | /** General Exception codes. */ |
59 | #define GE_ILLEGALOP 0 |
62 | #define GE_ILLEGALOP 0 |
60 | #define GE_PRIVOP 1 |
63 | #define GE_PRIVOP 1 |
61 | #define GE_PRIVREG 2 |
64 | #define GE_PRIVREG 2 |
Line 112... | Line 115... | ||
112 | uint64_t pr; |
115 | uint64_t pr; |
113 | uintptr_t sp; |
116 | uintptr_t sp; |
114 | 117 | ||
115 | /* |
118 | /* |
116 | * The following variables are defined only for break_instruction |
119 | * The following variables are defined only for break_instruction |
117 | * handler. |
120 | * handler. |
118 | */ |
121 | */ |
119 | uint64_t in0; |
122 | uint64_t in0; |
120 | uint64_t in1; |
123 | uint64_t in1; |
121 | uint64_t in2; |
124 | uint64_t in2; |
122 | uint64_t in3; |
125 | uint64_t in3; |
Line 148... | Line 151... | ||
148 | extern void universal_handler(uint64_t vector, istate_t *istate); |
151 | extern void universal_handler(uint64_t vector, istate_t *istate); |
149 | extern void nop_handler(uint64_t vector, istate_t *istate); |
152 | extern void nop_handler(uint64_t vector, istate_t *istate); |
150 | extern void external_interrupt(uint64_t vector, istate_t *istate); |
153 | extern void external_interrupt(uint64_t vector, istate_t *istate); |
151 | extern void disabled_fp_register(uint64_t vector, istate_t *istate); |
154 | extern void disabled_fp_register(uint64_t vector, istate_t *istate); |
152 | 155 | ||
- | 156 | extern void trap_virtual_enable_irqs(uint16_t irqmask); |
|
- | 157 | ||
153 | #endif |
158 | #endif |
154 | 159 | ||
155 | /** @} |
160 | /** @} |
156 | */ |
161 | */ |