support SIGSEGV(page fault) and SIGILL(general protection error)

This commit is contained in:
Tomoki Shirasawa
2013-07-26 11:53:00 +09:00
parent b6d25861e5
commit 221f2c0517
5 changed files with 163 additions and 49 deletions

View File

@@ -373,12 +373,15 @@ void handle_interrupt(int vector, struct x86_regs *regs)
}
}
void sigill(void *);
void gpe_handler(struct x86_regs *regs)
{
kprintf("General protection fault (err: %lx, %lx:%lx)\n",
regs->error, regs->cs, regs->rip);
arch_show_interrupt_context(regs);
panic("GPF");
sigill(regs);
// panic("GPF");
}
void x86_issue_ipi(unsigned int apicid, unsigned int low)