From 7ec758773cdd85755d91f52614f361e7e750c7e9 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sun, 23 Feb 2020 10:46:16 +0100 Subject: 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. --- Kernel/VM/MemoryManager.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'Kernel/VM/MemoryManager.cpp') 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 -- cgit v1.2.3