summaryrefslogtreecommitdiff
path: root/sim/process.cc
diff options
context:
space:
mode:
authorSteve Reinhardt <stever@eecs.umich.edu>2006-03-01 18:45:50 -0500
committerSteve Reinhardt <stever@eecs.umich.edu>2006-03-01 18:45:50 -0500
commit22504f8b48978be286d98be0df72d015ab6ff559 (patch)
tree40b1c96f1c36865abf1171913f1efcd168e63251 /sim/process.cc
parent31fc398f0641a9dcc9757520e9dc7fd2cce102fb (diff)
downloadgem5-22504f8b48978be286d98be0df72d015ab6ff559.tar.xz
More progress toward actually running a program.
See configs/test.py for test config (using simple binary in my home directory on zizzer). base/chunk_generator.hh: Fix assertion for chunkSize == 0 (not a power of 2) base/intmath.hh: Fix roundDown to take integer alignments. cpu/base.cc: Register exec contexts regardless of state (not sure why this check was in here in the first place). mem/physical.cc: Add breaks to switch. python/m5/objects/BaseCPU.py: Default mem to Parent.any (e.g. get from System). python/m5/objects/Ethernet.py: python/m5/objects/Root.py: HierParams is gone. python/m5/objects/PhysicalMemory.py: mmu param is full-system only. sim/process.cc: Stack mapping request must be page-aligned and page-sized. Don't delete objFile object in create since we are counting on it being around for startup(). --HG-- extra : convert_revision : 90c43ee927e7d82a045d6e10302d965797d006f7
Diffstat (limited to 'sim/process.cc')
-rw-r--r--sim/process.cc5
1 files changed, 2 insertions, 3 deletions
diff --git a/sim/process.cc b/sim/process.cc
index ac2aae5d4..bb13bd35f 100644
--- a/sim/process.cc
+++ b/sim/process.cc
@@ -331,7 +331,8 @@ LiveProcess::startup()
stack_min &= ~7;
stack_size = stack_base - stack_min;
// map memory
- pTable->allocate(stack_min, stack_size);
+ pTable->allocate(roundDown(stack_min, VMPageSize),
+ roundUp(stack_size, VMPageSize));
// map out initial stack contents
Addr argv_array_base = stack_min + sizeof(uint64_t); // room for argc
@@ -396,8 +397,6 @@ LiveProcess::create(const string &nm, System *system,
fatal("Unknown object file architecture.");
}
- delete objFile;
-
if (process == NULL)
fatal("Unknown error creating process object.");