diff options
Diffstat (limited to 'sim')
-rw-r--r-- | sim/process.cc | 8 | ||||
-rw-r--r-- | sim/syscall_emul.cc | 10 | ||||
-rw-r--r-- | sim/syscall_emul.hh | 28 |
3 files changed, 24 insertions, 22 deletions
diff --git a/sim/process.cc b/sim/process.cc index c8c4d0ba6..2eeb87234 100644 --- a/sim/process.cc +++ b/sim/process.cc @@ -245,15 +245,15 @@ copyStringArray(vector<string> &strings, Addr array_ptr, Addr data_ptr, Addr data_ptr_swap; for (int i = 0; i < strings.size(); ++i) { data_ptr_swap = htog(data_ptr); - memPort->writeBlobFunctional(array_ptr, (uint8_t*)&data_ptr_swap, sizeof(Addr)); - memPort->writeStringFunctional(data_ptr, strings[i].c_str()); + memPort->writeBlob(array_ptr, (uint8_t*)&data_ptr_swap, sizeof(Addr)); + memPort->writeString(data_ptr, strings[i].c_str()); array_ptr += sizeof(Addr); data_ptr += strings[i].size() + 1; } // add NULL terminator data_ptr = 0; - memPort->writeBlobFunctional(array_ptr, (uint8_t*)&data_ptr, sizeof(Addr)); + memPort->writeBlob(array_ptr, (uint8_t*)&data_ptr, sizeof(Addr)); } LiveProcess::LiveProcess(const string &nm, ObjectFile *_objFile, @@ -336,7 +336,7 @@ LiveProcess::startup() // write contents to stack uint64_t argc = argv.size(); argc = htog(argc); - initVirtMem->writeBlobFunctional(stack_min, (uint8_t*)&argc, sizeof(uint64_t)); + initVirtMem->writeBlob(stack_min, (uint8_t*)&argc, sizeof(uint64_t)); copyStringArray(argv, argv_array_base, arg_data_base, initVirtMem); copyStringArray(envp, envp_array_base, env_data_base, initVirtMem); diff --git a/sim/syscall_emul.cc b/sim/syscall_emul.cc index 6c24b6dc5..3dedb7c5e 100644 --- a/sim/syscall_emul.cc +++ b/sim/syscall_emul.cc @@ -193,7 +193,7 @@ unlinkFunc(SyscallDesc *desc, int num, Process *p, ExecContext *xc) { string path; - if (!xc->getMemPort()->tryReadStringFunctional(path, xc->getSyscallArg(0))) + if (!xc->getMemPort()->tryReadString(path, xc->getSyscallArg(0))) return (TheISA::IntReg)-EFAULT; int result = unlink(path.c_str()); @@ -205,12 +205,12 @@ renameFunc(SyscallDesc *desc, int num, Process *p, ExecContext *xc) { string old_name; - if (!xc->getMemPort()->tryReadStringFunctional(old_name, xc->getSyscallArg(0))) + if (!xc->getMemPort()->tryReadString(old_name, xc->getSyscallArg(0))) return -EFAULT; string new_name; - if (!xc->getMemPort()->tryReadStringFunctional(new_name, xc->getSyscallArg(1))) + if (!xc->getMemPort()->tryReadString(new_name, xc->getSyscallArg(1))) return -EFAULT; int64_t result = rename(old_name.c_str(), new_name.c_str()); @@ -222,7 +222,7 @@ truncateFunc(SyscallDesc *desc, int num, Process *p, ExecContext *xc) { string path; - if (!xc->getMemPort()->tryReadStringFunctional(path, xc->getSyscallArg(0))) + if (!xc->getMemPort()->tryReadString(path, xc->getSyscallArg(0))) return -EFAULT; off_t length = xc->getSyscallArg(1); @@ -250,7 +250,7 @@ chownFunc(SyscallDesc *desc, int num, Process *p, ExecContext *xc) { string path; - if (!xc->getMemPort()->tryReadStringFunctional(path, xc->getSyscallArg(0))) + if (!xc->getMemPort()->tryReadString(path, xc->getSyscallArg(0))) return -EFAULT; /* XXX endianess */ diff --git a/sim/syscall_emul.hh b/sim/syscall_emul.hh index 60e06b294..667003753 100644 --- a/sim/syscall_emul.hh +++ b/sim/syscall_emul.hh @@ -109,7 +109,7 @@ class BaseBufferArg { // virtual bool copyIn(TranslatingPort *memport) { - memport->readBlobFunctional(addr, bufPtr, size); + memport->readBlob(addr, bufPtr, size); return true; // no EFAULT detection for now } @@ -118,7 +118,7 @@ class BaseBufferArg { // virtual bool copyOut(TranslatingPort *memport) { - memport->writeBlobFunctional(addr, bufPtr, size); + memport->writeBlob(addr, bufPtr, size); return true; // no EFAULT detection for now } @@ -370,7 +370,7 @@ openFunc(SyscallDesc *desc, int callnum, Process *process, { std::string path; - if (!xc->getMemPort()->tryReadStringFunctional(path, xc->getSyscallArg(0))) + if (!xc->getMemPort()->tryReadString(path, xc->getSyscallArg(0))) return -EFAULT; if (path == "/dev/sysdev0") { @@ -417,7 +417,7 @@ chmodFunc(SyscallDesc *desc, int callnum, Process *process, { std::string path; - if (!xc->getMemPort()->tryReadStringFunctional(path, xc->getSyscallArg(0))) + if (!xc->getMemPort()->tryReadString(path, xc->getSyscallArg(0))) return -EFAULT; uint32_t mode = xc->getSyscallArg(1); @@ -470,7 +470,7 @@ statFunc(SyscallDesc *desc, int callnum, Process *process, { std::string path; - if (!xc->getMemPort()->tryReadStringFunctional(path, xc->getSyscallArg(0))) + if (!xc->getMemPort()->tryReadString(path, xc->getSyscallArg(0))) return -EFAULT; struct stat hostBuf; @@ -522,7 +522,7 @@ lstatFunc(SyscallDesc *desc, int callnum, Process *process, { std::string path; - if (!xc->getMemPort()->tryReadStringFunctional(path, xc->getSyscallArg(0))) + if (!xc->getMemPort()->tryReadString(path, xc->getSyscallArg(0))) return -EFAULT; struct stat hostBuf; @@ -544,7 +544,7 @@ lstat64Func(SyscallDesc *desc, int callnum, Process *process, { std::string path; - if (!xc->getMemPort()->tryReadStringFunctional(path, xc->getSyscallArg(0))) + if (!xc->getMemPort()->tryReadString(path, xc->getSyscallArg(0))) return -EFAULT; #if BSD_HOST @@ -596,7 +596,7 @@ statfsFunc(SyscallDesc *desc, int callnum, Process *process, { std::string path; - if (!xc->getMemPort()->tryReadStringFunctional(path, xc->getSyscallArg(0))) + if (!xc->getMemPort()->tryReadString(path, xc->getSyscallArg(0))) return -EFAULT; struct statfs hostBuf; @@ -646,18 +646,20 @@ writevFunc(SyscallDesc *desc, int callnum, Process *process, return -EBADF; } + TranslatingPort *p = xc->getMemPort(); uint64_t tiov_base = xc->getSyscallArg(1); size_t count = xc->getSyscallArg(2); struct iovec hiov[count]; for (int i = 0; i < count; ++i) { typename OS::tgt_iovec tiov; - xc->getMemPort()->readBlobFunctional(tiov_base + i*sizeof(typename OS::tgt_iovec),(uint8_t*) - &tiov, sizeof(typename OS::tgt_iovec)); + + p->readBlob(tiov_base + i*sizeof(typename OS::tgt_iovec), + (uint8_t*)&tiov, sizeof(typename OS::tgt_iovec)); hiov[i].iov_len = gtoh(tiov.iov_len); hiov[i].iov_base = new char [hiov[i].iov_len]; - xc->getMemPort()->readBlobFunctional(gtoh(tiov.iov_base), - (uint8_t *)hiov[i].iov_base, hiov[i].iov_len); + p->readBlob(gtoh(tiov.iov_base), (uint8_t *)hiov[i].iov_base, + hiov[i].iov_len); } int result = writev(process->sim_fd(fd), hiov, count); @@ -770,7 +772,7 @@ utimesFunc(SyscallDesc *desc, int callnum, Process *process, { std::string path; - if (!xc->getMemPort()->tryReadStringFunctional(path, xc->getSyscallArg(0))) + if (!xc->getMemPort()->tryReadString(path, xc->getSyscallArg(0))) return -EFAULT; TypedBufferArg<typename OS::timeval [2]> tp(xc->getSyscallArg(1)); |