Changeset 2ccd275 in mainline for arch/ia64/include
- Timestamp:
- 2005-11-09T14:23:05Z (20 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 802bb95
- Parents:
- b183865e
- Location:
- arch/ia64/include
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/ia64/include/asm.h
rb183865e r2ccd275 221 221 static inline void interrupts_restore(ipl_t ipl) 222 222 { 223 __asm__ volatile ( 224 "mov psr.l = %0\n" 225 ";;\n" 226 "srlz.d\n" 227 : : "r" ((__u64) ipl) 228 ); 223 if (ipl & PSR_I_MASK) 224 (void) interrupts_enable(); 225 else 226 (void) interrupts_disable(); 229 227 } 230 228 -
arch/ia64/include/interrupt.h
rb183865e r2ccd275 31 31 32 32 #include <arch/types.h> 33 #include <arch/register.h> 33 34 34 /** External interrupt vectors. */35 /** External Interrupt vectors. */ 35 36 #define INTERRUPT_TIMER 0 36 37 #define INTERRUPT_SPURIOUS 15 38 39 /** General Exception codes. */ 40 #define GE_ILLEGALOP 0 41 #define GE_PRIVOP 1 42 #define GE_PRIVREG 2 43 #define GE_RESREGFLD 3 44 #define GE_DISBLDISTRAN 4 45 #define GE_ILLEGALDEP 8 37 46 38 47 #define EOI 0 /**< The actual value doesn't matter. */ … … 46 55 __u64 ar_rsc; 47 56 __address cr_ifa; 48 __u64cr_isr;57 cr_isr_t cr_isr; 49 58 __address cr_iipa; 50 59 __u64 cr_ips; -
arch/ia64/include/register.h
rb183865e r2ccd275 30 30 #define __ia64_REGISTER_H__ 31 31 32 #ifndef __ASM__ 32 33 #include <arch/types.h> 34 #endif 33 35 34 36 #define CR_IVR_MASK 0xf 35 37 #define PSR_I_MASK 0x4000 38 #define PSR_IC_MASK 0x2000 36 39 37 40 /** Application registers. */ … … 109 112 /* CR82-CR127 reserved */ 110 113 114 #ifndef __ASM__ 111 115 /** External Interrupt Vector Register */ 112 116 union cr_ivr { … … 144 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 183 #endif
Note:
See TracChangeset
for help on using the changeset viewer.