diff options
author | Steve Reinhardt <stever@eecs.umich.edu> | 2006-03-12 16:01:41 -0500 |
---|---|---|
committer | Steve Reinhardt <stever@eecs.umich.edu> | 2006-03-12 16:01:41 -0500 |
commit | 37c860d3345b6fcc45dc609fd9bb7fe7e5136142 (patch) | |
tree | 477a973bcec0aedc1e44a18580a733d72796d675 /sim/process.cc | |
parent | 84a6044f31b9e2209bd49ae1d184289a0fa947bd (diff) | |
download | gem5-37c860d3345b6fcc45dc609fd9bb7fe7e5136142.tar.xz |
Get rid of validInstAddr() & validDataAddr().
SE mode can now use page tables to determine which addresses are valid.
sim/process.cc:
sim/process.hh:
Get rid of validInstAddr() & validDataAddr().
SE mode can now use page tables to determine which addresses are valid.
Also get rid of some Process object fields that were only used by those functions.
--HG--
extra : convert_revision : 74a25c0c2453bfc598eedacdbfccea1cf6493ba6
Diffstat (limited to 'sim/process.cc')
-rw-r--r-- | sim/process.cc | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/sim/process.cc b/sim/process.cc index d5f97ee5f..c8c4d0ba6 100644 --- a/sim/process.cc +++ b/sim/process.cc @@ -37,11 +37,7 @@ #include "base/loader/symtab.hh" #include "base/statistics.hh" #include "config/full_system.hh" -#include "cpu/cpu_exec_context.hh" #include "cpu/exec_context.hh" -#include "cpu/smt.hh" -#include "encumbered/cpu/full/thread.hh" -#include "encumbered/eio/eio.hh" #include "mem/page_table.hh" #include "mem/memory.hh" #include "mem/translating_port.hh" @@ -269,16 +265,12 @@ LiveProcess::LiveProcess(const string &nm, ObjectFile *_objFile, { prog_fname = argv[0]; - prog_entry = objFile->entryPoint(); - text_base = objFile->textBase(); - text_size = objFile->textSize(); - data_base = objFile->dataBase(); - data_size = objFile->dataSize() + objFile->bssSize(); - brk_point = roundUp(data_base + data_size, VMPageSize); + brk_point = objFile->dataBase() + objFile->dataSize() + objFile->bssSize(); + brk_point = roundUp(brk_point, VMPageSize); // Set up stack. On Alpha, stack goes below text section. This // code should get moved to some architecture-specific spot. - stack_base = text_base - (409600+4096); + stack_base = objFile->textBase() - (409600+4096); // Set up region for mmaps. Tru64 seems to start just above 0 and // grow up from there. @@ -353,6 +345,8 @@ LiveProcess::startup() execContexts[0]->setIntReg(ArgumentReg1, argv_array_base); execContexts[0]->setIntReg(StackPointerReg, stack_min); execContexts[0]->setIntReg(GlobalPointerReg, objFile->globalPointer()); + + Addr prog_entry = objFile->entryPoint(); execContexts[0]->setPC(prog_entry); execContexts[0]->setNextPC(prog_entry + sizeof(MachInst)); |