Subversion Repositories HelenOS-historic

Rev

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

Rev 470 Rev 472
Line 27... Line 27...
27
 */
27
 */
28
 
28
 
29
#ifndef __ia64_REGISTER_H__
29
#ifndef __ia64_REGISTER_H__
30
#define __ia64_REGISTER_H__
30
#define __ia64_REGISTER_H__
31
 
31
 
-
 
32
#ifndef __ASM__
32
#include <arch/types.h>
33
#include <arch/types.h>
-
 
34
#endif
33
 
35
 
34
#define CR_IVR_MASK 0xf
36
#define CR_IVR_MASK 0xf
35
#define PSR_I_MASK  0x4000
37
#define PSR_I_MASK  0x4000
-
 
38
#define PSR_IC_MASK 0x2000
36
 
39
 
37
/** Application registers. */
40
/** Application registers. */
38
#define AR_KR0      0
41
#define AR_KR0      0
39
#define AR_KR1      1
42
#define AR_KR1      1
40
#define AR_KR2      2
43
#define AR_KR2      2
Line 106... Line 109...
106
/* CR75-CR79 reserved */
109
/* CR75-CR79 reserved */
107
#define CR_LRR0     80
110
#define CR_LRR0     80
108
#define CR_LRR1     81
111
#define CR_LRR1     81
109
/* CR82-CR127 reserved */
112
/* CR82-CR127 reserved */
110
 
113
 
-
 
114
#ifndef __ASM__
111
/** External Interrupt Vector Register */
115
/** External Interrupt Vector Register */
112
union cr_ivr {
116
union cr_ivr {
113
    __u8  vector;
117
    __u8  vector;
114
    __u64 value;
118
    __u64 value;
115
};
119
};
Line 141... Line 145...
141
    __u64 value;
145
    __u64 value;
142
};
146
};
143
 
147
 
144
typedef union cr_itv cr_itv_t;
148
typedef union cr_itv cr_itv_t;
145
 
149
 
-
 
150
/** Interruption Status Register */
-
 
151
union cr_isr {
-
 
152
    struct {
-
 
153
        union {
-
 
154
            /** General Exception code field structuring. */
-
 
155
            struct {
-
 
156
                unsigned ge_na : 4;
-
 
157
                unsigned ge_code : 4;
-
 
158
            } __attribute__ ((packed));
-
 
159
            __u16 code;
-
 
160
        };
-
 
161
        __u8 vector;
-
 
162
        unsigned : 8;
-
 
163
        unsigned x : 1;         /**< Execute exception. */
-
 
164
        unsigned w : 1;         /**< Write exception. */
-
 
165
        unsigned r : 1;         /**< Read exception. */
-
 
166
        unsigned na : 1;        /**< Non-access exception. */
-
 
167
        unsigned sp : 1;        /**< Speculative load exception. */
-
 
168
        unsigned rs : 1;        /**< Register stack. */
-
 
169
        unsigned ir : 1;        /**< Incomplete Register frame. */
-
 
170
        unsigned ni : 1;        /**< Nested Interruption. */
-
 
171
        unsigned so : 1;        /**< IA-32 Supervisor Override. */
-
 
172
        unsigned ei : 2;        /**< Excepting Instruction. */
-
 
173
        unsigned ed : 1;        /**< Exception Deferral. */
-
 
174
        unsigned : 20;
-
 
175
    } __attribute__ ((packed));
-
 
176
    __u64 value;
-
 
177
};
-
 
178
 
-
 
179
typedef union cr_isr cr_isr_t;
-
 
180
 
-
 
181
#endif /* !__ASM__ */
-
 
182
 
146
#endif
183
#endif