From: Gabe Black Date: Sun, 2 Dec 2007 09:46:14 +0000 (-0800) Subject: X86: Make the page not present panic more descriptive. X-Git-Tag: m5_2.0_beta5~53 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=62ad1d2872ad97f9aa6ca76a5daf69429bbaf44b;p=gem5.git X86: Make the page not present panic more descriptive. --HG-- extra : convert_revision : 9360e47adb61e164ac218f2ea231eaa60bf3229d --- 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;