Rev 435 | Rev 472 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 435 | Rev 470 | ||
---|---|---|---|
Line 27... | Line 27... | ||
27 | */ |
27 | */ |
28 | 28 | ||
29 | #ifndef __ia64_INTERRUPT_H__ |
29 | #ifndef __ia64_INTERRUPT_H__ |
30 | #define __ia64_INTERRUPT_H__ |
30 | #define __ia64_INTERRUPT_H__ |
31 | 31 | ||
- | 32 | #include <arch/types.h> |
|
- | 33 | ||
- | 34 | /** External interrupt vectors. */ |
|
32 | #define INTERRUPT_TIMER 0 |
35 | #define INTERRUPT_TIMER 0 |
33 | #define INTERRUPT_SPURIOUS 15 |
36 | #define INTERRUPT_SPURIOUS 15 |
34 | 37 | ||
35 | #define EOI 0 /**< The actual value doesn't matter. */ |
38 | #define EOI 0 /**< The actual value doesn't matter. */ |
36 | 39 | ||
- | 40 | struct exception_regdump { |
|
- | 41 | __address ar_bsp; |
|
- | 42 | __address ar_bspstore; |
|
- | 43 | __u64 ar_rnat; |
|
- | 44 | __u64 ar_ifs; |
|
- | 45 | __u64 ar_pfs; |
|
- | 46 | __u64 ar_rsc; |
|
- | 47 | __address cr_ifa; |
|
- | 48 | __u64 cr_isr; |
|
- | 49 | __address cr_iipa; |
|
- | 50 | __u64 cr_ips; |
|
- | 51 | __address cr_iip; |
|
- | 52 | __u64 pr; |
|
- | 53 | } __attribute__ ((packed)); |
|
- | 54 | ||
- | 55 | extern void *ivt; |
|
- | 56 | ||
- | 57 | extern void general_exception(__u64 vector, struct exception_regdump *pstate); |
|
- | 58 | extern void break_instruction(__u64 vector, struct exception_regdump *pstate); |
|
- | 59 | extern void universal_handler(__u64 vector, struct exception_regdump *pstate); |
|
37 | extern void external_interrupt(void); |
60 | extern void external_interrupt(__u64 vector, struct exception_regdump *pstate); |
38 | 61 | ||
39 | #endif |
62 | #endif |