diff options
author | Gabe Black <gabeblack@google.com> | 2019-05-02 00:55:10 -0700 |
---|---|---|
committer | Gabe Black <gabeblack@google.com> | 2019-05-30 14:20:03 +0000 |
commit | 9bffae0e023b1ae0f3a545dc0ec7f8c6325b3069 (patch) | |
tree | 92a70fdd858a5c095cefc687a00c0f8bd6caa3c8 /src/sim/syscall_emul.hh | |
parent | 1cb22bc3e3216244fbcae5ce9da8d56a82d456e9 (diff) | |
download | gem5-9bffae0e023b1ae0f3a545dc0ec7f8c6325b3069.tar.xz |
arch, base, sim: Demote (SE|FS)TranslatingPortProxy &s to PortProxy &s.
Al(most) all of the interesting differences between the two classes
have been removed. There are some control methods which are still
specific to each type which may require treating them as their true
type, but most code that consumes them doesn't need to worry about
which is which.
Change-Id: Ie592676f1e496c7940605b66e55cd7fae18e59d6
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/18577
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Brandon Potter <Brandon.Potter@amd.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Diffstat (limited to 'src/sim/syscall_emul.hh')
-rw-r--r-- | src/sim/syscall_emul.hh | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/src/sim/syscall_emul.hh b/src/sim/syscall_emul.hh index dbbdf4734..4cb93c88f 100644 --- a/src/sim/syscall_emul.hh +++ b/src/sim/syscall_emul.hh @@ -603,7 +603,7 @@ convertStat64Buf(target_stat &tgt, host_stat64 *host, bool fakeTTY = false) // Here are a couple of convenience functions template<class OS> void -copyOutStatBuf(SETranslatingPortProxy &mem, Addr addr, +copyOutStatBuf(PortProxy &mem, Addr addr, hst_stat *host, bool fakeTTY = false) { typedef TypedBufferArg<typename OS::tgt_stat> tgt_stat_buf; @@ -614,7 +614,7 @@ copyOutStatBuf(SETranslatingPortProxy &mem, Addr addr, template<class OS> void -copyOutStat64Buf(SETranslatingPortProxy &mem, Addr addr, +copyOutStat64Buf(PortProxy &mem, Addr addr, hst_stat64 *host, bool fakeTTY = false) { typedef TypedBufferArg<typename OS::tgt_stat64> tgt_stat_buf; @@ -625,7 +625,7 @@ copyOutStat64Buf(SETranslatingPortProxy &mem, Addr addr, template <class OS> void -copyOutStatfsBuf(SETranslatingPortProxy &mem, Addr addr, +copyOutStatfsBuf(PortProxy &mem, Addr addr, hst_statfs *host) { TypedBufferArg<typename OS::tgt_statfs> tgt(addr); @@ -1663,7 +1663,7 @@ readvFunc(SyscallDesc *desc, int callnum, ThreadContext *tc) return -EBADF; int sim_fd = ffdp->getSimFD(); - SETranslatingPortProxy &prox = tc->getMemProxy(); + PortProxy &prox = tc->getMemProxy(); uint64_t tiov_base = p->getSyscallArg(tc, index); size_t count = p->getSyscallArg(tc, index); typename OS::tgt_iovec tiov[count]; @@ -1703,7 +1703,7 @@ writevFunc(SyscallDesc *desc, int callnum, ThreadContext *tc) return -EBADF; int sim_fd = hbfdp->getSimFD(); - SETranslatingPortProxy &prox = tc->getMemProxy(); + PortProxy &prox = tc->getMemProxy(); uint64_t tiov_base = p->getSyscallArg(tc, index); size_t count = p->getSyscallArg(tc, index); struct iovec hiov[count]; @@ -1841,7 +1841,7 @@ mmapImpl(SyscallDesc *desc, int num, ThreadContext *tc, bool is_mmap2) p->allocateMem(start, length, clobber); // Transfer content into target address space. - SETranslatingPortProxy &tp = tc->getMemProxy(); + PortProxy &tp = tc->getMemProxy(); if (tgt_flags & OS::TGT_MAP_ANONYMOUS) { // In general, we should zero the mapped area for anonymous mappings, // with something like: @@ -2124,16 +2124,15 @@ execveFunc(SyscallDesc *desc, int callnum, ThreadContext *tc) int index = 0; std::string path; - SETranslatingPortProxy & mem_proxy = tc->getMemProxy(); + PortProxy & mem_proxy = tc->getMemProxy(); if (!mem_proxy.tryReadString(path, p->getSyscallArg(tc, index))) return -EFAULT; if (access(path.c_str(), F_OK) == -1) return -EACCES; - auto read_in = [](std::vector<std::string> & vect, - SETranslatingPortProxy & mem_proxy, - Addr mem_loc) + auto read_in = [](std::vector<std::string> &vect, + PortProxy &mem_proxy, Addr mem_loc) { for (int inc = 0; ; inc++) { BufferArg b((mem_loc + sizeof(Addr) * inc), sizeof(Addr)); @@ -2301,7 +2300,7 @@ timeFunc(SyscallDesc *desc, int callnum, ThreadContext *tc) if (taddr != 0) { typename OS::time_t t = sec; t = TheISA::htog(t); - SETranslatingPortProxy &p = tc->getMemProxy(); + PortProxy &p = tc->getMemProxy(); p.writeBlob(taddr, &t, (int)sizeof(typename OS::time_t)); } return sec; |