summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);