We enabled interrupts before getting the value of cr2 in the handler. If the handler was preempted, cr2 could have been overriden by a page fault in a separate thread or process. |
||
|---|---|---|
| .. | ||
| apic.cpp | ||
| apic.h | ||
| interrupt.cpp | ||
| interrupt.h | ||
| interrupt_enter.s | ||
| timer.cpp | ||
| timer.h | ||