Changeset 6eabb6e6 in mainline for kernel/arch/ia64/src/interrupt.c
- Timestamp:
- 2006-09-13T13:16:30Z (18 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 34d9469e
- Parents:
- 9a5b556
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia64/src/interrupt.c
r9a5b556 r6eabb6e6 158 158 159 159 switch (istate->cr_isr.ge_code) { 160 160 case GE_ILLEGALOP: 161 161 desc = "Illegal Operation fault"; 162 162 break; 163 163 case GE_PRIVOP: 164 164 desc = "Privileged Operation fault"; 165 165 break; 166 166 case GE_PRIVREG: 167 167 desc = "Privileged Register fault"; 168 168 break; 169 169 case GE_RESREGFLD: 170 170 desc = "Reserved Register/Field fault"; 171 171 break; 172 172 case GE_DISBLDISTRAN: 173 173 desc = "Disabled Instruction Set Transition fault"; 174 174 break; 175 175 case GE_ILLEGALDEP: 176 176 desc = "Illegal Dependency fault"; 177 177 break; 178 179 178 default: 179 desc = "unknown"; 180 180 break; 181 181 } … … 186 186 panic("General Exception (%s)\n", desc); 187 187 } 188 189 void fpu_enable(void);190 188 191 189 void disabled_fp_register(uint64_t vector, istate_t *istate) … … 204 202 { 205 203 } 206 207 204 208 205 … … 243 240 244 241 switch(ivr.vector) { 245 242 case INTERRUPT_TIMER: 246 243 it_interrupt(); 247 248 244 break; 245 case INTERRUPT_SPURIOUS: 249 246 printf("cpu%d: spurious interrupt\n", CPU->id); 250 247 break; 251 248 default: 252 249 panic("\nUnhandled External Interrupt Vector %d\n", ivr.vector); 253 250 break; … … 255 252 } 256 253 257 void virtual_interrupt(uint64_t irq, void *param)254 void virtual_interrupt(uint64_t irq, void *param) 258 255 { 259 256 switch(irq) { 260 case IRQ_KBD: 261 if(kbd_uspace) ipc_irq_send_notif(irq); 262 break; 263 default: 264 panic("\nUnhandled Virtual Interrupt request %d\n", irq); 257 case IRQ_KBD: 258 if (kbd_uspace) 259 ipc_irq_send_notif(irq); 260 break; 261 default: 262 panic("\nUnhandled Virtual Interrupt request %d\n", irq); 265 263 break; 266 264 } … … 270 268 void irq_ipc_bind_arch(unative_t irq) 271 269 { 272 if(irq ==IRQ_KBD) {273 kbd_uspace =1;270 if(irq == IRQ_KBD) { 271 kbd_uspace = 1; 274 272 return; 275 273 } … … 281 279 /** @} 282 280 */ 283
Note:
See TracChangeset
for help on using the changeset viewer.