Gabe Black has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/18577

Change subject: arch, base, sim: Demote (SE|FS)TranslatingPortProxy &s to PortProxy &s.
......................................................................

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
---
M src/arch/alpha/linux/system.cc
M src/arch/alpha/stacktrace.cc
M src/arch/alpha/utility.cc
M src/arch/arm/stacktrace.cc
M src/arch/arm/utility.cc
M src/arch/mips/stacktrace.cc
M src/arch/sparc/utility.cc
M src/arch/x86/linux/process.cc
M src/arch/x86/pseudo_inst.cc
M src/arch/x86/stacktrace.cc
M src/base/remote_gdb.cc
M src/sim/process_impl.hh
M src/sim/syscall_emul.cc
M src/sim/syscall_emul.hh
M src/sim/syscall_emul_buf.hh
M src/sim/vptr.hh
16 files changed, 38 insertions(+), 37 deletions(-)



diff --git a/src/arch/alpha/linux/system.cc b/src/arch/alpha/linux/system.cc
index 9cc839e..cebd264 100644
--- a/src/arch/alpha/linux/system.cc
+++ b/src/arch/alpha/linux/system.cc
@@ -180,7 +180,7 @@
     if (kernelSymtab->findAddress("loops_per_jiffy", addr)) {
         Tick cpuFreq = tc->getCpuPtr()->frequency();
         assert(intrFreq);
-        FSTranslatingPortProxy &vp = tc->getVirtProxy();
+        PortProxy &vp = tc->getVirtProxy();
         vp.write(addr, (uint32_t)((cpuFreq / intrFreq) * 0.9988),
                  GuestByteOrder);
     }
diff --git a/src/arch/alpha/stacktrace.cc b/src/arch/alpha/stacktrace.cc
index f5833b0..bf2d5b3 100644
--- a/src/arch/alpha/stacktrace.cc
+++ b/src/arch/alpha/stacktrace.cc
@@ -49,7 +49,7 @@
     : tc(_tc)
 {
     Addr addr = 0;
-    FSTranslatingPortProxy &vp = tc->getVirtProxy();
+    PortProxy &vp = tc->getVirtProxy();
     SymbolTable *symtab = tc->getSystemPtr()->kernelSymtab;

     if (!symtab->findAddress("thread_info_size", addr))
@@ -82,7 +82,7 @@

     Addr tsk;

-    FSTranslatingPortProxy &vp = tc->getVirtProxy();
+    PortProxy &vp = tc->getVirtProxy();
     tsk = vp.read<Addr>(base + task_off, GuestByteOrder);

     return tsk;
@@ -97,7 +97,7 @@

     uint16_t pd;

-    FSTranslatingPortProxy &vp = tc->getVirtProxy();
+    PortProxy &vp = tc->getVirtProxy();
     pd = vp.read<uint16_t>(task + pid_off, GuestByteOrder);

     return pd;
diff --git a/src/arch/alpha/utility.cc b/src/arch/alpha/utility.cc
index c644911..8264c94 100644
--- a/src/arch/alpha/utility.cc
+++ b/src/arch/alpha/utility.cc
@@ -53,7 +53,7 @@
             return tc->readIntReg(16 + number);
     } else {
         Addr sp = tc->readIntReg(StackPointerReg);
-        FSTranslatingPortProxy &vp = tc->getVirtProxy();
+        PortProxy &vp = tc->getVirtProxy();
         uint64_t arg = vp.read<uint64_t>(sp +
                                          (number-NumArgumentRegs) *
                                          sizeof(uint64_t));
diff --git a/src/arch/arm/stacktrace.cc b/src/arch/arm/stacktrace.cc
index 837b6ad..8fadb81 100644
--- a/src/arch/arm/stacktrace.cc
+++ b/src/arch/arm/stacktrace.cc
@@ -47,7 +47,7 @@
 static int32_t
 readSymbol(ThreadContext *tc, const std::string name)
 {
-    FSTranslatingPortProxy &vp = tc->getVirtProxy();
+    PortProxy &vp = tc->getVirtProxy();
     SymbolTable *symtab = tc->getSystemPtr()->kernelSymtab;

     Addr addr;
@@ -75,7 +75,7 @@

     Addr tsk;

-    FSTranslatingPortProxy &vp = tc->getVirtProxy();
+    PortProxy &vp = tc->getVirtProxy();
     tsk = vp.read<Addr>(base + task_off, GuestByteOrder);

     return tsk;
@@ -90,7 +90,7 @@

     uint16_t pd;

-    FSTranslatingPortProxy &vp = tc->getVirtProxy();
+    PortProxy &vp = tc->getVirtProxy();
     pd = vp.read<uint16_t>(task + pid_off, GuestByteOrder);

     return pd;
diff --git a/src/arch/arm/utility.cc b/src/arch/arm/utility.cc
index 29b39b8..6e34056 100644
--- a/src/arch/arm/utility.cc
+++ b/src/arch/arm/utility.cc
@@ -107,7 +107,7 @@
             }
         } else {
             Addr sp = tc->readIntReg(StackPointerReg);
-            FSTranslatingPortProxy &vp = tc->getVirtProxy();
+            PortProxy &vp = tc->getVirtProxy();
             uint64_t arg;
             if (size == sizeof(uint64_t)) {
                 // If the argument is even it must be aligned
diff --git a/src/arch/mips/stacktrace.cc b/src/arch/mips/stacktrace.cc
index 7517b9d..fe464e3 100644
--- a/src/arch/mips/stacktrace.cc
+++ b/src/arch/mips/stacktrace.cc
@@ -55,7 +55,7 @@

     Addr tsk;

-    FSTranslatingPortProxy &vp = tc->getVirtProxy();
+    PortProxy &vp = tc->getVirtProxy();
     tsk = vp.read<Addr>(base + task_off, GuestByteOrder);

     return tsk;
@@ -70,7 +70,7 @@

     uint16_t pd;

-    FSTranslatingPortProxy &vp = tc->getVirtProxy();
+    PortProxy &vp = tc->getVirtProxy();
     pd = vp.read<uint16_t>(task + pid_off, GuestByteOrder);

     return pd;
diff --git a/src/arch/sparc/utility.cc b/src/arch/sparc/utility.cc
index 6b3e5d2..5b05eaf 100644
--- a/src/arch/sparc/utility.cc
+++ b/src/arch/sparc/utility.cc
@@ -57,7 +57,7 @@
         return tc->readIntReg(8 + number);
     } else {
         Addr sp = tc->readIntReg(StackPointerReg);
-        FSTranslatingPortProxy &vp = tc->getVirtProxy();
+        PortProxy &vp = tc->getVirtProxy();
         uint64_t arg = vp.read<uint64_t>(sp + 92 +
                             (number-NumArgumentRegs) * sizeof(uint64_t));
         return arg;
diff --git a/src/arch/x86/linux/process.cc b/src/arch/x86/linux/process.cc
index 9e8997a..094593c 100644
--- a/src/arch/x86/linux/process.cc
+++ b/src/arch/x86/linux/process.cc
@@ -90,7 +90,7 @@
     int code = process->getSyscallArg(tc, index);
     uint64_t addr = process->getSyscallArg(tc, index);
     uint64_t fsBase, gsBase;
-    SETranslatingPortProxy &p = tc->getMemProxy();
+    PortProxy &p = tc->getMemProxy();
     switch(code)
     {
       // Each of these valid options should actually check addr.
diff --git a/src/arch/x86/pseudo_inst.cc b/src/arch/x86/pseudo_inst.cc
index fc71af1..253c914 100644
--- a/src/arch/x86/pseudo_inst.cc
+++ b/src/arch/x86/pseudo_inst.cc
@@ -68,7 +68,7 @@

     Process *p = tc->getProcessPtr();
     if (!p->fixupStackFault(tc->readMiscReg(MISCREG_CR2))) {
-        SETranslatingPortProxy proxy = tc->getMemProxy();
+        PortProxy &proxy = tc->getMemProxy();
         // at this point we should have 6 values on the interrupt stack
         int size = 6;
         uint64_t is[size];
diff --git a/src/arch/x86/stacktrace.cc b/src/arch/x86/stacktrace.cc
index b5fbb5c..0141a9e 100644
--- a/src/arch/x86/stacktrace.cc
+++ b/src/arch/x86/stacktrace.cc
@@ -47,7 +47,7 @@
 static int32_t
 readSymbol(ThreadContext *tc, const std::string name)
 {
-    FSTranslatingPortProxy &vp = tc->getVirtProxy();
+    PortProxy &vp = tc->getVirtProxy();
     SymbolTable *symtab = tc->getSystemPtr()->kernelSymtab;

     Addr addr;
@@ -75,7 +75,7 @@

     Addr tsk;

-    FSTranslatingPortProxy &vp = tc->getVirtProxy();
+    PortProxy &vp = tc->getVirtProxy();
     tsk = vp.read<Addr>(base + task_off, GuestByteOrder);

     return tsk;
@@ -90,7 +90,7 @@

     uint16_t pd;

-    FSTranslatingPortProxy &vp = tc->getVirtProxy();
+    PortProxy &vp = tc->getVirtProxy();
     pd = vp.read<uint16_t>(task + pid_off, GuestByteOrder);

     return pd;
diff --git a/src/base/remote_gdb.cc b/src/base/remote_gdb.cc
index c092620..347345d 100644
--- a/src/base/remote_gdb.cc
+++ b/src/base/remote_gdb.cc
@@ -625,10 +625,10 @@
     DPRINTF(GDBRead, "read:  addr=%#x, size=%d", vaddr, size);

     if (FullSystem) {
-        FSTranslatingPortProxy &proxy = tc->getVirtProxy();
+        PortProxy &proxy = tc->getVirtProxy();
         proxy.readBlob(vaddr, data, size);
     } else {
-        SETranslatingPortProxy &proxy = tc->getMemProxy();
+        PortProxy &proxy = tc->getMemProxy();
         proxy.readBlob(vaddr, data, size);
     }

@@ -668,10 +668,10 @@
             DPRINTFNR("\n");
     }
     if (FullSystem) {
-        FSTranslatingPortProxy &proxy = tc->getVirtProxy();
+        PortProxy &proxy = tc->getVirtProxy();
         proxy.writeBlob(vaddr, data, size);
     } else {
-        SETranslatingPortProxy &proxy = tc->getMemProxy();
+        PortProxy &proxy = tc->getMemProxy();
         proxy.writeBlob(vaddr, data, size);
     }

diff --git a/src/sim/process_impl.hh b/src/sim/process_impl.hh
index ae2a3b5..7513412 100644
--- a/src/sim/process_impl.hh
+++ b/src/sim/process_impl.hh
@@ -42,7 +42,7 @@
 void
 copyStringArray(std::vector<std::string> &strings,
         AddrType array_ptr, AddrType data_ptr,
-        SETranslatingPortProxy& memProxy)
+        PortProxy& memProxy)
 {
     AddrType data_ptr_swap;
for (std::vector<std::string>::size_type i = 0; i < strings.size(); ++i) {
diff --git a/src/sim/syscall_emul.cc b/src/sim/syscall_emul.cc
index a9490fa..f1400f6 100644
--- a/src/sim/syscall_emul.cc
+++ b/src/sim/syscall_emul.cc
@@ -260,7 +260,7 @@
             // if the address is already there, zero it out
             else {
                 uint8_t zero = 0;
-                SETranslatingPortProxy &tp = tc->getMemProxy();
+                PortProxy &tp = tc->getMemProxy();

                 // split non-page aligned accesses
                 Addr next_page = roundUp(gen.addr(), PageBytes);
diff --git a/src/sim/syscall_emul.hh b/src/sim/syscall_emul.hh
index ad76f12..02c849b 100644
--- a/src/sim/syscall_emul.hh
+++ b/src/sim/syscall_emul.hh
@@ -680,7 +680,7 @@
 // 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;
@@ -691,7 +691,7 @@

 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;
@@ -702,7 +702,7 @@

 template <class OS>
 void
-copyOutStatfsBuf(SETranslatingPortProxy &mem, Addr addr,
+copyOutStatfsBuf(PortProxy &mem, Addr addr,
                  hst_statfs *host)
 {
     TypedBufferArg<typename OS::tgt_statfs> tgt(addr);
@@ -1732,7 +1732,7 @@
         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];
@@ -1771,7 +1771,7 @@
         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];
@@ -1909,7 +1909,7 @@
     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:
@@ -2188,16 +2188,15 @@

     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));
@@ -2364,7 +2363,7 @@
     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;
diff --git a/src/sim/syscall_emul_buf.hh b/src/sim/syscall_emul_buf.hh
index e930846..0b30325 100644
--- a/src/sim/syscall_emul_buf.hh
+++ b/src/sim/syscall_emul_buf.hh
@@ -75,7 +75,8 @@
     /**
      * copy data into simulator space (read from target memory)
      */
-    bool copyIn(SETranslatingPortProxy &memproxy)
+    bool
+    copyIn(PortProxy &memproxy)
     {
         memproxy.readBlob(addr, bufPtr, size);
         return true;    // no EFAULT detection for now
@@ -84,7 +85,8 @@
     /**
      * copy data out of simulator space (write to target memory)
      */
-    bool copyOut(SETranslatingPortProxy &memproxy)
+    bool
+    copyOut(PortProxy &memproxy)
     {
         memproxy.writeBlob(addr, bufPtr, size);
         return true;    // no EFAULT detection for now
diff --git a/src/sim/vptr.hh b/src/sim/vptr.hh
index 6eefd59..07f00c3 100644
--- a/src/sim/vptr.hh
+++ b/src/sim/vptr.hh
@@ -69,7 +69,7 @@
         if (!ptr)
             return;

-        FSTranslatingPortProxy &proxy = tc->getVirtProxy();
+        PortProxy &proxy = tc->getVirtProxy();
         proxy.readBlob(ptr, buffer, sizeof(T));
     }


--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/18577
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: Ie592676f1e496c7940605b66e55cd7fae18e59d6
Gerrit-Change-Number: 18577
Gerrit-PatchSet: 1
Gerrit-Owner: Gabe Black <gabebl...@google.com>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to