157,26 → 157,26 |
char *desc = ""; |
|
switch (istate->cr_isr.ge_code) { |
case GE_ILLEGALOP: |
case GE_ILLEGALOP: |
desc = "Illegal Operation fault"; |
break; |
case GE_PRIVOP: |
case GE_PRIVOP: |
desc = "Privileged Operation fault"; |
break; |
case GE_PRIVREG: |
case GE_PRIVREG: |
desc = "Privileged Register fault"; |
break; |
case GE_RESREGFLD: |
case GE_RESREGFLD: |
desc = "Reserved Register/Field fault"; |
break; |
case GE_DISBLDISTRAN: |
case GE_DISBLDISTRAN: |
desc = "Disabled Instruction Set Transition fault"; |
break; |
case GE_ILLEGALDEP: |
case GE_ILLEGALDEP: |
desc = "Illegal Dependency fault"; |
break; |
default: |
desc = "unknown"; |
default: |
desc = "unknown"; |
break; |
} |
|
186,8 → 186,6 |
panic("General Exception (%s)\n", desc); |
} |
|
void fpu_enable(void); |
|
void disabled_fp_register(uint64_t vector, istate_t *istate) |
{ |
#ifdef CONFIG_FPU_LAZY |
205,7 → 203,6 |
} |
|
|
|
/** Handle syscall. */ |
int break_instruction(uint64_t vector, istate_t *istate) |
{ |
242,27 → 239,28 |
srlz_d(); |
|
switch(ivr.vector) { |
case INTERRUPT_TIMER: |
case INTERRUPT_TIMER: |
it_interrupt(); |
break; |
case INTERRUPT_SPURIOUS: |
break; |
case INTERRUPT_SPURIOUS: |
printf("cpu%d: spurious interrupt\n", CPU->id); |
break; |
default: |
default: |
panic("\nUnhandled External Interrupt Vector %d\n", ivr.vector); |
break; |
} |
} |
|
void virtual_interrupt(uint64_t irq,void *param) |
void virtual_interrupt(uint64_t irq, void *param) |
{ |
switch(irq) { |
case IRQ_KBD: |
if(kbd_uspace) ipc_irq_send_notif(irq); |
break; |
default: |
panic("\nUnhandled Virtual Interrupt request %d\n", irq); |
case IRQ_KBD: |
if (kbd_uspace) |
ipc_irq_send_notif(irq); |
break; |
default: |
panic("\nUnhandled Virtual Interrupt request %d\n", irq); |
break; |
} |
} |
|
269,8 → 267,8 |
/* Reregister irq to be IPC-ready */ |
void irq_ipc_bind_arch(unative_t irq) |
{ |
if(irq==IRQ_KBD) { |
kbd_uspace=1; |
if(irq == IRQ_KBD) { |
kbd_uspace = 1; |
return; |
} |
return; |
280,4 → 278,3 |
|
/** @} |
*/ |
|