From 4bd11c10a5b9b5b8ef5cdf75cb9496da6a55c292 Mon Sep 17 00:00:00 2001 From: Ron Dreslinski Date: Tue, 21 Feb 2006 13:39:01 -0500 Subject: 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 --- mem/physical.cc | 7 +++++++ mem/port.hh | 5 +++++ 2 files changed, 12 insertions(+) (limited to 'mem') 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 -- cgit v1.2.3