diff options
author | Steve Reinhardt <stever@eecs.umich.edu> | 2006-10-21 05:28:05 -0400 |
---|---|---|
committer | Steve Reinhardt <stever@eecs.umich.edu> | 2006-10-21 05:28:05 -0400 |
commit | 3ac1ca8ff690316ac39db14ab9eb1e799f43c0c9 (patch) | |
tree | 1a1a2ff7be36ae8f90918b2628fcdf118342d68e /src/kern/tru64 | |
parent | 0e121bc14f390089d21ca516084d449a1a42ee54 (diff) | |
download | gem5-3ac1ca8ff690316ac39db14ab9eb1e799f43c0c9.tar.xz |
Tweak a few things for better page fault debugging.
src/sim/faults.cc:
Fix fault message.
src/kern/tru64/tru64.hh:
Add DPRINTF to see where new thread stacks are allocated.
src/arch/alpha/faults.cc:
Add print statement so we know what the faulting address is in SE mode.
--HG--
extra : convert_revision : 6eb2b513c339496a0d013b7e914953a0a066c12d
Diffstat (limited to 'src/kern/tru64')
-rw-r--r-- | src/kern/tru64/tru64.hh | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/kern/tru64/tru64.hh b/src/kern/tru64/tru64.hh index 18671c364..9bad6ce09 100644 --- a/src/kern/tru64/tru64.hh +++ b/src/kern/tru64/tru64.hh @@ -600,12 +600,19 @@ class Tru64 : public OperatingSystem process->next_thread_stack_base -= stack_size; } - stack_base = roundDown(stack_base, VMPageSize); + Addr rounded_stack_base = roundDown(stack_base, VMPageSize); + Addr rounded_stack_size = roundUp(stack_size, VMPageSize); + + DPRINTF(SyscallVerbose, + "stack_create: allocating stack @ %#x size %#x " + "(rounded from %#x, %#x)\n", + rounded_stack_base, rounded_stack_size, + stack_base, stack_size); // map memory - process->pTable->allocate(stack_base, roundUp(stack_size, VMPageSize)); + process->pTable->allocate(rounded_stack_base, rounded_stack_size); - argp->address = gtoh(stack_base); + argp->address = gtoh(rounded_stack_base); argp.copyOut(tc->getMemPort()); return 0; |