summaryrefslogtreecommitdiff
path: root/Kernel/VM/MemoryManager.cpp
diff options
context:
space:
mode:
authorAndreas Kling <kling@serenityos.org>2020-02-23 10:46:16 +0100
committerAndreas Kling <kling@serenityos.org>2020-02-23 11:10:52 +0100
commit7ec758773cdd85755d91f52614f361e7e750c7e9 (patch)
tree3b86c4bfc92c1c48f2846ab42cba0c72dbf210d5 /Kernel/VM/MemoryManager.cpp
parent00bf68adc628cf869702f46e3e1dc9731bff2bff (diff)
downloadserenity-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/VM/MemoryManager.cpp')
-rw-r--r--Kernel/VM/MemoryManager.cpp4
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