#ifndef __MEM_FS_PORT_PROXY_HH__
#define __MEM_FS_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
FSTranslatingPortProxy(ThreadContext* tc);
- FSTranslatingPortProxy(MasterPort &port);
+ FSTranslatingPortProxy(MasterPort &port, unsigned int cacheLineSize);
virtual ~FSTranslatingPortProxy();
/** Version of writeBlob that translates virt->phys and deals
* with page boundries. */
- virtual void writeBlob(Addr addr, uint8_t *p, int size) const;
+ virtual void writeBlob(Addr addr, const uint8_t *p, int size) const;
/**
* Fill size bytes starting at addr with byte value val.
};
void CopyOut(ThreadContext *tc, void *dest, Addr src, size_t cplen);
-void CopyIn(ThreadContext *tc, Addr dest, void *source, size_t cplen);
+void CopyIn(ThreadContext *tc, Addr dest, const void *source, size_t cplen);
void CopyStringOut(ThreadContext *tc, char *dst, Addr vaddr, size_t maxlen);
-void CopyStringIn(ThreadContext *tc, char *src, Addr vaddr);
+void CopyStringIn(ThreadContext *tc, const char *src, Addr vaddr);
#endif //__MEM_FS_PORT_PROXY_HH__