Rev 470 | Rev 476 | 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 |