summaryrefslogtreecommitdiff
path: root/mem
diff options
context:
space:
mode:
authorRon Dreslinski <rdreslin@umich.edu>2006-02-21 13:39:01 -0500
committerRon Dreslinski <rdreslin@umich.edu>2006-02-21 13:39:01 -0500
commit4bd11c10a5b9b5b8ef5cdf75cb9496da6a55c292 (patch)
tree7bc4f8efcc35294c5026ba0eb0fa4fc53500e0cc /mem
parent944646124e3d1222601294f62c78754c6705a2d6 (diff)
downloadgem5-4bd11c10a5b9b5b8ef5cdf75cb9496da6a55c292.tar.xz
Add blocksize functions to physical memory. Fix the port we were using in the process loader.
mem/physical.cc: Implement the blockSize function, return VMPageSize for the physical memory mem/port.hh: Add a function to get a pointer to a peer, needed for initVirtMem to work in the loader. sim/process.cc: The way the translating port is setup we don't want the memory port, we want the peer port associated with that memory. We may need to revisit this. --HG-- extra : convert_revision : 46a51d448d1683db7bd5afe64adbe167a5743060
Diffstat (limited to 'mem')
-rw-r--r--mem/physical.cc7
-rw-r--r--mem/port.hh5
2 files changed, 12 insertions, 0 deletions
diff --git a/mem/physical.cc b/mem/physical.cc
index 02563ac70..031d832dd 100644
--- a/mem/physical.cc
+++ b/mem/physical.cc
@@ -164,6 +164,13 @@ PhysicalMemory::prot_memset(Addr addr, uint8_t val, int size)
memset(pmem_addr + addr - base_addr, val, size);
}
+int
+PhysicalMemory::deviceBlockSize()
+{
+ //For now the largest accesses we can take are Page Sized
+ return VMPageSize;
+}
+
void
PhysicalMemory::serialize(ostream &os)
{
diff --git a/mem/port.hh b/mem/port.hh
index c6dcb5d81..88cca885b 100644
--- a/mem/port.hh
+++ b/mem/port.hh
@@ -93,6 +93,11 @@ class Port
*/
void setPeer(Port *port) { peer = port; }
+ /** Function to set the pointer for the peer port.
+ @todo should be called by the configuration stuff (python).
+ */
+ Port *getPeer(Port *port) { return peer; }
+
protected:
/** These functions are protected because they should only be