[Zion] Add a shim Floating Point Exception handler.

This commit is contained in:
Drew Galbraith 2023-11-21 15:17:32 -08:00
parent 0b8e2d8268
commit 2a984a93ec
2 changed files with 9 additions and 2 deletions

View File

@ -130,6 +130,11 @@ extern "C" void interrupt_page_fault(InterruptFrame* frame) {
panic("PF");
}
extern "C" void isr_fpe_fault();
extern "C" void interrupt_fpe_fault(InterruptFrame* frame) {
panic("Floating point exception");
}
extern "C" void isr_timer();
extern "C" void interrupt_timer(InterruptFrame*) {
gApicTimer->Calibrate();
@ -178,8 +183,9 @@ extern "C" void interrupt_pci4(InterruptFrame*) {
void InitIdt() {
gIdt[0] = CreateDescriptor(isr_divide_by_zero);
gIdt[13] = CreateDescriptor(isr_protection_fault);
gIdt[14] = CreateDescriptor(isr_page_fault);
gIdt[0xD] = CreateDescriptor(isr_protection_fault);
gIdt[0xE] = CreateDescriptor(isr_page_fault);
gIdt[0x13] = CreateDescriptor(isr_fpe_fault);
gIdt[0x20] = CreateDescriptor(isr_timer);
gIdt[0x21] = CreateDescriptor(isr_apic_timer);

View File

@ -58,6 +58,7 @@ isr_\name:
isr_handler divide_by_zero
isr_handler protection_fault,1
isr_handler page_fault,1
isr_handler fpe_fault
isr_handler timer
isr_handler apic_timer