diff options
author | Andreas Kling <kling@serenityos.org> | 2020-02-23 10:46:16 +0100 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2020-02-23 11:10:52 +0100 |
commit | 7ec758773cdd85755d91f52614f361e7e750c7e9 (patch) | |
tree | 3b86c4bfc92c1c48f2846ab42cba0c72dbf210d5 /Kernel | |
parent | 00bf68adc628cf869702f46e3e1dc9731bff2bff (diff) | |
download | serenity-7ec758773cdd85755d91f52614f361e7e750c7e9.zip |
Kernel: Dump all kernel regions when we hit a page fault during IRQ
This way you can try to figure out what the faulting address is.
Diffstat (limited to 'Kernel')
-rw-r--r-- | Kernel/VM/MemoryManager.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Kernel/VM/MemoryManager.cpp b/Kernel/VM/MemoryManager.cpp index d593e4a3c7..3cf7caceb9 100644 --- a/Kernel/VM/MemoryManager.cpp +++ b/Kernel/VM/MemoryManager.cpp @@ -298,8 +298,10 @@ PageFaultResponse MemoryManager::handle_page_fault(const PageFault& fault) { ASSERT_INTERRUPTS_DISABLED(); ASSERT(Thread::current); - if (g_in_irq) + if (g_in_irq) { dbg() << "BUG! Page fault while handling IRQ! code=" << fault.code() << ", vaddr=" << fault.vaddr(); + dump_kernel_regions(); + } #ifdef PAGE_FAULT_DEBUG dbgprintf("MM: handle_page_fault(%w) at V%p\n", fault.code(), fault.vaddr().get()); #endif |