Subversion Repositories HelenOS-historic

Rev

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