summaryrefslogtreecommitdiff
path: root/src/mem/ruby
diff options
context:
space:
mode:
authorJohn Alsop <johnathan.alsop@amd.com>2017-04-20 11:26:39 -0400
committerJohn Alsop <johnathan.alsop@amd.com>2019-06-05 13:59:00 +0000
commitf5cf6d5f5ef8df0fedcba9d3cf3c16d76a6dceae (patch)
tree57e09482a3257960d5b8008147f65ad200783ca7 /src/mem/ruby
parent0c0cf48e3082ba41005b5d0f56d377e432b9283e (diff)
downloadgem5-f5cf6d5f5ef8df0fedcba9d3cf3c16d76a6dceae.tar.xz
mem-ruby: Enable set size increase
Add NUMBER_BITS_PER_SET environment variable to control the size of the bitmask in Set.hh (default=64). Necessary for configs which require >64 instances of a given machine type. This can be set in the build_opts file, e.g. by adding the following line: NUMBER_BITS_PER_SET = <number> Change-Id: I314a3cadca8ce975fcf4a60d9022494751688e88 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/18968 Reviewed-by: Tiago Mück <tiago.muck@arm.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.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/SConscript2
-rw-r--r--src/mem/ruby/common/Set.hh4
2 files changed, 3 insertions, 3 deletions
diff --git a/src/mem/ruby/common/SConscript b/src/mem/ruby/common/SConscript
index a19268cba..b97391c0a 100644
--- a/src/mem/ruby/common/SConscript
+++ b/src/mem/ruby/common/SConscript
@@ -33,6 +33,8 @@ Import('*')
if env['PROTOCOL'] == 'None':
Return()
+env.Append(CPPDEFINES={'NUMBER_BITS_PER_SET': env['NUMBER_BITS_PER_SET']})
+
Source('Address.cc')
Source('BoolVec.cc')
Source('Consumer.cc')
diff --git a/src/mem/ruby/common/Set.hh b/src/mem/ruby/common/Set.hh
index cb01c9613..aba38f51e 100644
--- a/src/mem/ruby/common/Set.hh
+++ b/src/mem/ruby/common/Set.hh
@@ -39,13 +39,11 @@
#include "base/logging.hh"
#include "mem/ruby/common/TypeDefines.hh"
-// Change for systems with more than 64 controllers of a particular type.
-const int NUMBER_BITS_PER_SET = 64;
-
class Set
{
private:
// Number of bits in use in this set.
+ // can be defined in build_opts file (default=64).
int m_nSize;
std::bitset<NUMBER_BITS_PER_SET> bits;