Subversion Repositories HelenOS

Rev

Rev 432 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 432 Rev 433
Line 30... Line 30...
30
#define __ia64_REGISTER_H__
30
#define __ia64_REGISTER_H__
31
 
31
 
32
#include <arch/types.h>
32
#include <arch/types.h>
33
 
33
 
34
#define CR_IVR_MASK 0xf
34
#define CR_IVR_MASK 0xf
35
 
-
 
36
#define PSR_I_MASK  0x4000
35
#define PSR_I_MASK  0x4000
37
 
36
 
-
 
37
/** External Interrupt Vector Register */
-
 
38
union cr_ivr {
-
 
39
    __u8  vector;
-
 
40
    __u64 value;
-
 
41
};
-
 
42
 
-
 
43
typedef union cr_ivr cr_ivr_t;
-
 
44
 
-
 
45
/** Task Priority Register */
-
 
46
union cr_tpr {
-
 
47
    struct {
-
 
48
        unsigned : 4;
-
 
49
        unsigned mic: 4;        /**< Mask Interrupt Class. */
-
 
50
        unsigned : 8;
-
 
51
        unsigned mmi: 1;        /**< Mask Maskable Interrupts. */
-
 
52
    } __attribute__ ((packed));
-
 
53
    __u64 value;
-
 
54
};
-
 
55
 
-
 
56
typedef union cr_tpr cr_tpr_t;
-
 
57
 
-
 
58
/** Interval Timer Vector */
-
 
59
union cr_itv {
-
 
60
    struct {
-
 
61
        unsigned vector : 8;
-
 
62
        unsigned : 4;
-
 
63
        unsigned : 1;
-
 
64
        unsigned : 3;
-
 
65
        unsigned m : 1;         /**< Mask. */
-
 
66
    } __attribute__ ((packed));
-
 
67
    __u64 value;
-
 
68
};
-
 
69
 
-
 
70
typedef union cr_itv cr_itv_t;
-
 
71
 
38
#endif
72
#endif