Spurious int
This commit is contained in:
parent
e8f9540dd9
commit
3748dfbe33
|
@ -213,6 +213,11 @@ void IsrHandler(ISRFrame_t *regs)
|
||||||
if ((!regs) || (!regs->rip))
|
if ((!regs) || (!regs->rip))
|
||||||
KeStartPanic("[ISR ?] Unknown ISR Exception Abort\n");
|
KeStartPanic("[ISR ?] Unknown ISR Exception Abort\n");
|
||||||
|
|
||||||
|
if ((regs->intNo >= 21) && (regs->intNo <= 31))
|
||||||
|
return; // INTEL RESERVED
|
||||||
|
if (regs->intNo == 15)
|
||||||
|
return; // INTEL RESERVED
|
||||||
|
|
||||||
if (regs->intNo < 32) {
|
if (regs->intNo < 32) {
|
||||||
IdtExceptionHandler(regs);
|
IdtExceptionHandler(regs);
|
||||||
return;
|
return;
|
||||||
|
@ -225,7 +230,22 @@ void IsrHandler(ISRFrame_t *regs)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
KeStartPanic("[ISR 0x%x] Unknown ISR Exception Abort\n", regs->intNo);
|
bprintf(BStdOut, "[ISR 0x%x] %s\n", regs->intNo, "Unknown ISR Exception");
|
||||||
|
/* KeStartPanic("[ISR 0x%x] Unknown ISR Exception Abort\n" */
|
||||||
|
/* " Error code : 0x%x\n" */
|
||||||
|
/* " RIP:\t\t%p\n" */
|
||||||
|
/* " CS:\t\t%p\n" */
|
||||||
|
/* " RFLAGS:\t%022b\n" */
|
||||||
|
/* " RSP:\t\t%p\n" */
|
||||||
|
/* " SS:\t\t%p\n", */
|
||||||
|
/* regs->intNo, */
|
||||||
|
/* regs->ErrorCode, */
|
||||||
|
/* regs->rip, */
|
||||||
|
/* regs->cs, */
|
||||||
|
/* regs->rflags, */
|
||||||
|
/* regs->rsp, */
|
||||||
|
/* regs->ss */
|
||||||
|
/* ); */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -91,13 +91,13 @@ noreturn void BtStartKern(multiboot_info_t *mbInfo, uint mbMagic, void *codeSeg)
|
||||||
IoPrintRtcTime();
|
IoPrintRtcTime();
|
||||||
|
|
||||||
KernLog("There was %d ticks\n", IoGetRtcTicks());
|
KernLog("There was %d ticks\n", IoGetRtcTicks());
|
||||||
for (uint i = 1; i < 2 ; i++) {
|
for (uint i = 1; i < 200 ; i++) {
|
||||||
while (IoGetRtcTicks() < i * 10000) {
|
while (IoGetRtcTicks() < i * 10000) {
|
||||||
}
|
}
|
||||||
IoPrintRtcTime();
|
IoPrintRtcTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
divideByZero();
|
//divideByZero();
|
||||||
|
|
||||||
KernLog("Goodbye after %d ticks\n", IoGetRtcTicks());
|
KernLog("Goodbye after %d ticks\n", IoGetRtcTicks());
|
||||||
// End this machine's suffering
|
// End this machine's suffering
|
||||||
|
|
Loading…
Reference in New Issue