Rev 1888 | Rev 2071 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1888 | Rev 1942 | ||
---|---|---|---|
Line 37... | Line 37... | ||
37 | 37 | ||
38 | #include <typedefs.h> |
38 | #include <typedefs.h> |
39 | #include <arch/types.h> |
39 | #include <arch/types.h> |
40 | #include <arch/register.h> |
40 | #include <arch/register.h> |
41 | 41 | ||
- | 42 | /** ia64 has 256 INRs. */ |
|
- | 43 | #define INR_COUNT 256 |
|
- | 44 | ||
- | 45 | /* |
|
42 | #define IRQ_COUNT 257 /* 256 NOT suppotred IRQS*//* TODO */ |
46 | * We need to keep this just to compile. |
43 | #define IRQ_KBD 256 /* One simulated interrupt for ski simulator keyboard*/ |
47 | * We might eventually move interrupt/ stuff |
- | 48 | * to genarch. |
|
- | 49 | */ |
|
- | 50 | #define IVT_ITEMS 0 |
|
- | 51 | #define IVT_FIRST 0 |
|
44 | 52 | ||
45 | /** External Interrupt vectors. */ |
53 | /** External Interrupt vectors. */ |
46 | #define INTERRUPT_TIMER 0 |
54 | #define INTERRUPT_TIMER 0 |
47 | #define INTERRUPT_SPURIOUS 15 |
55 | #define INTERRUPT_SPURIOUS 15 |
48 | 56 | ||
Line 124... | Line 132... | ||
124 | return istate->cr_iip; |
132 | return istate->cr_iip; |
125 | } |
133 | } |
126 | 134 | ||
127 | static inline int istate_from_uspace(istate_t *istate) |
135 | static inline int istate_from_uspace(istate_t *istate) |
128 | { |
136 | { |
129 | return (istate->cr_iip)<0xe000000000000000ULL; |
137 | return (istate->cr_iip) < 0xe000000000000000ULL; |
130 | } |
138 | } |
131 | 139 | ||
132 | extern void *ivt; |
140 | extern void *ivt; |
133 | 141 | ||
134 | extern void general_exception(uint64_t vector, istate_t *istate); |
142 | extern void general_exception(uint64_t vector, istate_t *istate); |
135 | extern int break_instruction(uint64_t vector, istate_t *istate); |
143 | extern int break_instruction(uint64_t vector, istate_t *istate); |
136 | extern void universal_handler(uint64_t vector, istate_t *istate); |
144 | extern void universal_handler(uint64_t vector, istate_t *istate); |
137 | extern void nop_handler(uint64_t vector, istate_t *istate); |
145 | extern void nop_handler(uint64_t vector, istate_t *istate); |
138 | extern void external_interrupt(uint64_t vector, istate_t *istate); |
146 | extern void external_interrupt(uint64_t vector, istate_t *istate); |
139 | extern void virtual_interrupt(uint64_t irq, void *param); |
- | |
140 | extern void disabled_fp_register(uint64_t vector, istate_t *istate); |
147 | extern void disabled_fp_register(uint64_t vector, istate_t *istate); |
141 | 148 | ||
142 | #endif |
149 | #endif |
143 | 150 | ||
144 | /** @} |
151 | /** @} |