summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configs/ruby/MOESI_hammer.py8
-rw-r--r--configs/ruby/Ruby.py12
2 files changed, 10 insertions, 10 deletions
diff --git a/configs/ruby/MOESI_hammer.py b/configs/ruby/MOESI_hammer.py
index 434f5c8db..d0f38d922 100644
--- a/configs/ruby/MOESI_hammer.py
+++ b/configs/ruby/MOESI_hammer.py
@@ -145,18 +145,18 @@ def create_system(options, system, piobus, dma_ports, ruby_system):
dir_bits = int(math.log(options.num_dirs, 2))
pf_bits = int(math.log(pf_size.value, 2))
if options.numa_high_bit:
- if options.numa_high_bit > 0:
+ if options.pf_on or options.dir_on:
# if numa high bit explicitly set, make sure it does not overlap
# with the probe filter index
assert(options.numa_high_bit - dir_bits > pf_bits)
# set the probe filter start bit to just above the block offset
- pf_start_bit = 6
+ pf_start_bit = block_size_bits
else:
if dir_bits > 0:
- pf_start_bit = dir_bits + 5
+ pf_start_bit = dir_bits + block_size_bits - 1
else:
- pf_start_bit = 6
+ pf_start_bit = block_size_bits
for i in xrange(options.num_dirs):
#
diff --git a/configs/ruby/Ruby.py b/configs/ruby/Ruby.py
index bcb939165..40ee63195 100644
--- a/configs/ruby/Ruby.py
+++ b/configs/ruby/Ruby.py
@@ -173,16 +173,16 @@ def create_system(options, system, piobus = None, dma_ports = []):
total_mem_size = MemorySize('0B')
dir_bits = int(math.log(options.num_dirs, 2))
+ ruby.block_size_bytes = options.cacheline_size
+ block_size_bits = int(math.log(options.cacheline_size, 2))
if options.numa_high_bit:
numa_bit = options.numa_high_bit
else:
- # if not specified, use the lowest bits above the block offest
- if dir_bits > 0:
- # add 5 because bits 0-5 are the block offset
- numa_bit = dir_bits + 5
- else:
- numa_bit = 6
+ # if the numa_bit is not specified, set the directory bits as the
+ # lowest bits above the block offset bits, and the numa_bit as the
+ # highest of those directory bits
+ numa_bit = block_size_bits + dir_bits - 1
for dir_cntrl in dir_cntrls:
total_mem_size.value += dir_cntrl.directory.size.value