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>
This commit is contained in:
John Alsop
2017-04-20 11:26:39 -04:00
parent 0c0cf48e30
commit f5cf6d5f5e
4 changed files with 9 additions and 5 deletions

View File

@@ -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')

View File

@@ -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;