summaryrefslogtreecommitdiff
path: root/src/mem/ruby/common/Address.hh
diff options
context:
space:
mode:
authorNilay Vaish <nilay@cs.wisc.edu>2012-12-11 10:05:53 -0600
committerNilay Vaish <nilay@cs.wisc.edu>2012-12-11 10:05:53 -0600
commitd5023847951dcebcb38838cae0a141bd1a62e407 (patch)
treed479196286e1426ac558958acdfab518a2516a29 /src/mem/ruby/common/Address.hh
parent2fca1af71f69bf17e90981dc69c96cccdc62fc11 (diff)
downloadgem5-d5023847951dcebcb38838cae0a141bd1a62e407.tar.xz
ruby: add functions for computing next stride/page address
Diffstat (limited to 'src/mem/ruby/common/Address.hh')
-rw-r--r--src/mem/ruby/common/Address.hh6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/mem/ruby/common/Address.hh b/src/mem/ruby/common/Address.hh
index ce1e76e91..c63100b7f 100644
--- a/src/mem/ruby/common/Address.hh
+++ b/src/mem/ruby/common/Address.hh
@@ -36,7 +36,7 @@
#include "base/hashmap.hh"
#include "mem/ruby/common/TypeDefines.hh"
-const int ADDRESS_WIDTH = 64; // address width in bytes
+const uint32_t ADDRESS_WIDTH = 64; // address width in bytes
class Address;
typedef Address PhysAddress;
@@ -69,6 +69,7 @@ class Address
physical_address_t getLineAddress() const;
physical_address_t getOffset() const;
void makeLineAddress();
+ void makePageAddress();
void makeNextStrideAddress(int stride);
int getBankSetNum() const;
@@ -202,6 +203,9 @@ Address::shiftLowOrderBits(int number) const
return (m_address >> number);
}
+Address next_stride_address(const Address& addr, int stride);
+Address page_address(const Address& addr);
+
__hash_namespace_begin
template <> struct hash<Address>
{