diff options
-rw-r--r-- | configs/ruby/MOESI_hammer.py | 8 | ||||
-rw-r--r-- | configs/ruby/Ruby.py | 12 |
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 |