mem-cache: Avoid hiding a virtual method in the dictionary compressor.
[gem5.git] / src / mem / fs_translating_port_proxy.hh
index 2217a46aae632f906fee0fa06860e9a5c901bdfd..2ecd742bcec92bf25f9af22ad60fdb2c1b206eca 100644 (file)
  * the system.
  */
 
-#ifndef __MEM_FS_PORT_PROXY_HH__
-#define __MEM_FS_PORT_PROXY_HH__
+#ifndef __MEM_FS_TRANSLATING_PORT_PROXY_HH__
+#define __MEM_FS_TRANSLATING_PORT_PROXY_HH__
 
-#include "arch/vtophys.hh"
 #include "mem/port_proxy.hh"
 
+class ThreadContext;
+
 /**
  * A TranslatingPortProxy in FS mode translates a virtual address to a
  * physical address and then calls the read/write functions of the
@@ -78,27 +79,25 @@ class FSTranslatingPortProxy : public PortProxy
 
     FSTranslatingPortProxy(ThreadContext* tc);
 
-    FSTranslatingPortProxy(Port &port);
+    FSTranslatingPortProxy(SendFunctionalFunc func,
+                           unsigned int cacheLineSize);
+    FSTranslatingPortProxy(MasterPort &port,
+                           unsigned int cacheLineSize);
 
-    virtual ~FSTranslatingPortProxy();
+    ~FSTranslatingPortProxy() {}
 
-    /** Version of readblob that translates virt->phys and deals
+    /** Version of tryReadblob that translates virt->phys and deals
       * with page boundries. */
-    virtual void readBlob(Addr addr, uint8_t *p, int size) const;
+    bool tryReadBlob(Addr addr, void *p, int size) const override;
 
-    /** Version of writeBlob that translates virt->phys and deals
+    /** Version of tryWriteBlob that translates virt->phys and deals
       * with page boundries. */
-    virtual void writeBlob(Addr addr, uint8_t *p, int size) const;
+    bool tryWriteBlob(Addr addr, const void *p, int size) const override;
 
     /**
      * Fill size bytes starting at addr with byte value val.
      */
-    virtual void memsetBlob(Addr address, uint8_t  v, int size) const;
+    bool tryMemsetBlob(Addr address, uint8_t  v, int size) const override;
 };
 
-void CopyOut(ThreadContext *tc, void *dest, Addr src, size_t cplen);
-void CopyIn(ThreadContext *tc, Addr dest, void *source, size_t cplen);
-void CopyStringOut(ThreadContext *tc, char *dst, Addr vaddr, size_t maxlen);
-void CopyStringIn(ThreadContext *tc, char *src, Addr vaddr);
-
-#endif //__MEM_FS_PORT_PROXY_HH__
+#endif //__MEM_FS_TRANSLATING_PORT_PROXY_HH__