summaryrefslogtreecommitdiff
path: root/src/arch/alpha/faults.cc
diff options
context:
space:
mode:
authorAli Saidi <saidi@eecs.umich.edu>2006-06-27 14:59:38 -0400
committerAli Saidi <saidi@eecs.umich.edu>2006-06-27 14:59:38 -0400
commit07cd37c48b018679553e6b12a5591c5759f433d6 (patch)
tree129a50d2fb465ea88ac8fb6b1d774dda04341ab3 /src/arch/alpha/faults.cc
parent88c9b17cb927e5b789d883023db9516f878f526a (diff)
downloadgem5-07cd37c48b018679553e6b12a5591c5759f433d6.tar.xz
Make full CPU handle SE faults
--HG-- extra : convert_revision : e336623ac3329ec0ee2430548c6a9650e2a69d6a
Diffstat (limited to 'src/arch/alpha/faults.cc')
-rw-r--r--src/arch/alpha/faults.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/arch/alpha/faults.cc b/src/arch/alpha/faults.cc
index 06765768a..eef4361fd 100644
--- a/src/arch/alpha/faults.cc
+++ b/src/arch/alpha/faults.cc
@@ -194,11 +194,13 @@ void PageTableFault::invoke(ThreadContext *tc)
// We've accessed the next page
if (vaddr > p->stack_min - PageBytes) {
+ warn("Increasing stack %#x:%#x to %#x:%#x because of access to %#x",
+ p->stack_min, p->stack_base, p->stack_min - PageBytes,
+ p->stack_base, vaddr);
p->stack_min -= PageBytes;
if (p->stack_base - p->stack_min > 8*1024*1024)
fatal("Over max stack size for one thread\n");
p->pTable->allocate(p->stack_min, PageBytes);
- warn("Increasing stack size by one page.");
} else {
FaultBase::invoke(tc);
}