diff options
-rwxr-xr-x | SConstruct | 7 | ||||
-rw-r--r-- | build_opts/X86_MESI_Two_Level | 1 | ||||
-rw-r--r-- | src/mem/ruby/common/SConscript | 2 | ||||
-rw-r--r-- | src/mem/ruby/common/Set.hh | 4 |
4 files changed, 9 insertions, 5 deletions
diff --git a/SConstruct b/SConstruct index 53b8c9dea..28999a5b5 100755 --- a/SConstruct +++ b/SConstruct @@ -1013,14 +1013,17 @@ sticky_vars.AddVariables( EnumVariable('PROTOCOL', 'Coherence protocol for Ruby', 'None', all_protocols), EnumVariable('BACKTRACE_IMPL', 'Post-mortem dump implementation', - backtrace_impls[-1], backtrace_impls) + backtrace_impls[-1], backtrace_impls), + ('NUMBER_BITS_PER_SET', 'Max elements in set (default 64)', + 64), ) # These variables get exported to #defines in config/*.hh (see src/SConscript). export_vars += ['USE_FENV', 'SS_COMPATIBLE_FP', 'TARGET_ISA', 'TARGET_GPU_ISA', 'CP_ANNOTATE', 'USE_POSIX_CLOCK', 'USE_KVM', 'USE_TUNTAP', 'PROTOCOL', 'HAVE_PROTOBUF', 'HAVE_VALGRIND', - 'HAVE_PERF_ATTR_EXCLUDE_HOST', 'USE_PNG'] + 'HAVE_PERF_ATTR_EXCLUDE_HOST', 'USE_PNG', + 'NUMBER_BITS_PER_SET'] ################################################### # diff --git a/build_opts/X86_MESI_Two_Level b/build_opts/X86_MESI_Two_Level index fc74d6f01..eba850b33 100644 --- a/build_opts/X86_MESI_Two_Level +++ b/build_opts/X86_MESI_Two_Level @@ -1,3 +1,4 @@ TARGET_ISA = 'x86' CPU_MODELS = 'TimingSimpleCPU,O3CPU,AtomicSimpleCPU' PROTOCOL = 'MESI_Two_Level' +NUMBER_BITS_PER_SET = '128' 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; |