summaryrefslogtreecommitdiff
path: root/src/arch/x86/pagetable_walker.cc
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2007-12-02 01:46:14 -0800
committerGabe Black <gblack@eecs.umich.edu>2007-12-02 01:46:14 -0800
commit62ad1d2872ad97f9aa6ca76a5daf69429bbaf44b (patch)
tree04f88b40430c8ff340b14d961321bba8f4cd69b6 /src/arch/x86/pagetable_walker.cc
parent82e705d713e3aa546002adad3c5349513d439114 (diff)
downloadgem5-62ad1d2872ad97f9aa6ca76a5daf69429bbaf44b.tar.xz
X86: Make the page not present panic more descriptive.
--HG-- extra : convert_revision : 9360e47adb61e164ac218f2ea231eaa60bf3229d
Diffstat (limited to 'src/arch/x86/pagetable_walker.cc')
-rw-r--r--src/arch/x86/pagetable_walker.cc20
1 files 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;