summaryrefslogtreecommitdiff
path: root/src/mem/ruby
diff options
context:
space:
mode:
authorDaniel R. Carvalho <odanrc@yahoo.com.br>2019-09-07 12:08:40 +0200
committerDaniel Carvalho <odanrc@yahoo.com.br>2019-09-30 20:58:46 +0000
commitefc73cddc483d5afedfa0b0c92cee207d62c5c1d (patch)
treef008294eccc7862be376a41df50fe4d747f1240d /src/mem/ruby
parent4a701c11e4c071ba0f196b376a73123a1ab952e7 (diff)
downloadgem5-efc73cddc483d5afedfa0b0c92cee207d62c5c1d.tar.xz
mem-ruby: Make bitSelect use bits<Addr>
There is no need to replicate bits<Addr>' functionality. As a side effect, ADDRESS_WIDTH is no longer used and was removed Change-Id: Ia5679f3976c81f779665d82cb758850092f2a293 Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/21085 Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com> Maintainer: Jason Lowe-Power <jason@lowepower.com> Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'src/mem/ruby')
-rw-r--r--src/mem/ruby/common/Address.cc10
-rw-r--r--src/mem/ruby/common/Address.hh2
2 files changed, 1 insertions, 11 deletions
diff --git a/src/mem/ruby/common/Address.cc b/src/mem/ruby/common/Address.cc
index 5c89d31cc..40ce0feb0 100644
--- a/src/mem/ruby/common/Address.cc
+++ b/src/mem/ruby/common/Address.cc
@@ -35,15 +35,7 @@ Addr
bitSelect(Addr addr, unsigned int small, unsigned int big)
{
assert(big >= small);
-
- if (big >= ADDRESS_WIDTH - 1) {
- return (addr >> small);
- } else {
- Addr mask = ~((Addr)~0 << (big + 1));
- // FIXME - this is slow to manipulate a 64-bit number using 32-bits
- Addr partial = (addr & mask);
- return (partial >> small);
- }
+ return bits<Addr>(addr, big, small);
}
Addr
diff --git a/src/mem/ruby/common/Address.hh b/src/mem/ruby/common/Address.hh
index 31f52e540..30682fab0 100644
--- a/src/mem/ruby/common/Address.hh
+++ b/src/mem/ruby/common/Address.hh
@@ -35,8 +35,6 @@
#include "base/types.hh"
-const uint32_t ADDRESS_WIDTH = 64; // address width in bytes
-
// selects bits inclusive
Addr bitSelect(Addr addr, unsigned int small, unsigned int big);
Addr maskLowOrderBits(Addr addr, unsigned int number);