summaryrefslogtreecommitdiff
path: root/src/kern
diff options
context:
space:
mode:
Diffstat (limited to 'src/kern')
-rw-r--r--src/kern/tru64/tru64.hh13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/kern/tru64/tru64.hh b/src/kern/tru64/tru64.hh
index 2ee4014db..6d6d0d96d 100644
--- a/src/kern/tru64/tru64.hh
+++ b/src/kern/tru64/tru64.hh
@@ -544,12 +544,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;