diff options
author | Nilay Vaish <nilay@cs.wisc.edu> | 2012-12-11 10:05:53 -0600 |
---|---|---|
committer | Nilay Vaish <nilay@cs.wisc.edu> | 2012-12-11 10:05:53 -0600 |
commit | d5023847951dcebcb38838cae0a141bd1a62e407 (patch) | |
tree | d479196286e1426ac558958acdfab518a2516a29 /src/mem/ruby/common/Address.hh | |
parent | 2fca1af71f69bf17e90981dc69c96cccdc62fc11 (diff) | |
download | gem5-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.hh | 6 |
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> { |