From 62ad1d2872ad97f9aa6ca76a5daf69429bbaf44b Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Sun, 2 Dec 2007 01:46:14 -0800 Subject: [PATCH] X86: Make the page not present panic more descriptive. --HG-- extra : convert_revision : 9360e47adb61e164ac218f2ea231eaa60bf3229d --- src/arch/x86/pagetable_walker.cc | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/arch/x86/pagetable_walker.cc b/src/arch/x86/pagetable_walker.cc index 0472dcd21..e70c16b1d 100644 --- a/src/arch/x86/pagetable_walker.cc +++ b/src/arch/x86/pagetable_walker.cc @@ -110,7 +110,7 @@ Walker::doNext(PacketPtr &read, PacketPtr &write) panic("NX violation!\n"); entry.noExec = pte.nx; if (!pte.p) - panic("Page not present!\n"); + panic("Page at %#x not present!\n", entry.vaddr); nextState = LongPDP; break; case LongPDP: @@ -122,7 +122,7 @@ Walker::doNext(PacketPtr &read, PacketPtr &write) if (badNX) panic("NX violation!\n"); if (!pte.p) - panic("Page not present!\n"); + panic("Page at %#x not present!\n", entry.vaddr); nextState = LongPD; break; case LongPD: @@ -133,7 +133,7 @@ Walker::doNext(PacketPtr &read, PacketPtr &write) if (badNX) panic("NX violation!\n"); if (!pte.p) - panic("Page not present!\n"); + panic("Page at %#x not present!\n", entry.vaddr); if (!pte.ps) { // 4 KB page entry.size = 4 * (1 << 10); @@ -164,7 +164,7 @@ Walker::doNext(PacketPtr &read, PacketPtr &write) if (badNX) panic("NX violation!\n"); if (!pte.p) - panic("Page not present!\n"); + panic("Page at %#x not present!\n", entry.vaddr); entry.paddr = (uint64_t)pte & (mask(40) << 12); entry.uncacheable = uncacheable; entry.global = pte.g; @@ -179,7 +179,7 @@ Walker::doNext(PacketPtr &read, PacketPtr &write) case PAEPDP: nextRead = ((uint64_t)pte & (mask(40) << 12)) + vaddr.pael2 * size; if (!pte.p) - panic("Page not present!\n"); + panic("Page at %#x not present!\n", entry.vaddr); nextState = PAEPD; break; case PAEPD: @@ -190,7 +190,7 @@ Walker::doNext(PacketPtr &read, PacketPtr &write) if (badNX) panic("NX violation!\n"); if (!pte.p) - panic("Page not present!\n"); + panic("Page at %#x not present!\n", entry.vaddr); if (!pte.ps) { // 4 KB page entry.size = 4 * (1 << 10); @@ -220,7 +220,7 @@ Walker::doNext(PacketPtr &read, PacketPtr &write) if (badNX) panic("NX violation!\n"); if (!pte.p) - panic("Page not present!\n"); + panic("Page at %#x not present!\n", entry.vaddr); entry.paddr = (uint64_t)pte & (mask(40) << 12); entry.uncacheable = uncacheable; entry.global = pte.g; @@ -238,7 +238,7 @@ Walker::doNext(PacketPtr &read, PacketPtr &write) entry.writable = pte.w; entry.user = pte.u; if (!pte.p) - panic("Page not present!\n"); + panic("Page at %#x not present!\n", entry.vaddr); if (!pte.ps) { // 4 KB page entry.size = 4 * (1 << 10); @@ -267,7 +267,7 @@ Walker::doNext(PacketPtr &read, PacketPtr &write) entry.writable = pte.w; entry.user = pte.u; if (!pte.p) - panic("Page not present!\n"); + panic("Page at %#x not present!\n", entry.vaddr); // 4 KB page entry.size = 4 * (1 << 10); nextRead = ((uint64_t)pte & (mask(20) << 12)) + vaddr.norml2 * size; @@ -281,7 +281,7 @@ Walker::doNext(PacketPtr &read, PacketPtr &write) entry.writable = pte.w; entry.user = pte.u; if (!pte.p) - panic("Page not present!\n"); + panic("Page at %#x not present!\n", entry.vaddr); entry.paddr = (uint64_t)pte & (mask(20) << 12); entry.uncacheable = uncacheable; entry.global = pte.g; -- 2.30.2