summaryrefslogtreecommitdiff
path: root/sim/process.cc
diff options
context:
space:
mode:
authorRon Dreslinski <rdreslin@umich.edu>2006-02-20 23:26:39 -0500
committerRon Dreslinski <rdreslin@umich.edu>2006-02-20 23:26:39 -0500
commitd96de69abc02b40e1dec4843a7a7b7e30749f4fa (patch)
tree0c3fd42012ec416fcabdc8691f2ccd202ee98865 /sim/process.cc
parentb74f1b829d14e43256fb4a9efd3b951e81ad12d2 (diff)
downloadgem5-d96de69abc02b40e1dec4843a7a7b7e30749f4fa.tar.xz
Add in a new translating port that allows syscalls to translate addresses via the page table before accessing the memory port.
Other compile issues cleaned up. SConscript: Changes to compile the new Translating Port. Split out memtester and eio support, will rework them back in after first getting a simpleCPU to work arch/alpha/alpha_linux_process.cc: arch/alpha/alpha_tru64_process.cc: sim/syscall_emul.cc: sim/syscall_emul.hh: Changes to use the new translating Port. cpu/exec_context.cc: cpu/exec_context.hh: Create a translating port in each execution context. sim/process.cc: Fix the way we do proxy memory --HG-- extra : convert_revision : 3d33218fe8b425a5d9ce24757f1112b4aa6001fd
Diffstat (limited to 'sim/process.cc')
-rw-r--r--sim/process.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/sim/process.cc b/sim/process.cc
index 26d6bf708..2355fdc19 100644
--- a/sim/process.cc
+++ b/sim/process.cc
@@ -154,7 +154,7 @@ Process::startup()
if (execContexts.empty())
fatal("Process %s is not associated with any CPUs!\n", name());
- initVirtMem = new ProxyMemory<Memory>(system->physmem, pTable);
+ initVirtMem = new ProxyMemory(system->physmem, pTable);
// first exec context for this process... initialize & enable
ExecContext *xc = execContexts[0];
@@ -249,7 +249,7 @@ copyStringArray(vector<string> &strings, Addr array_ptr, Addr data_ptr,
{
for (int i = 0; i < strings.size(); ++i) {
func->prot_write(array_ptr, (uint8_t*)&data_ptr, sizeof(Addr));
- func->writeString(data_ptr, strings[i].c_str());
+ func->writeStringFunctional(data_ptr, strings[i].c_str());
array_ptr += sizeof(Addr);
data_ptr += strings[i].size() + 1;
}