# HG changeset patch
# User Brad Beckmann <brad.beckm...@amd.com>
# Date 1263536247 28800
# Node ID d1afc64b72dfd2451c0f1acf0addc7ac8aebd8e1
# Parent  69b0eb267a9b14f0b02e7114561e4c7de72c2785
ruby: Memory size consistency check

Ruby's memory is now sized according to the size of M5 physical memory.

diff -r 69b0eb267a9b -r d1afc64b72df configs/ruby/MOESI_hammer.py
--- a/configs/ruby/MOESI_hammer.py      Thu Jan 14 22:17:27 2010 -0800
+++ b/configs/ruby/MOESI_hammer.py      Thu Jan 14 22:17:27 2010 -0800
@@ -96,6 +96,9 @@
         cpu_sequencers.append(cpu_seq)
         l1_cntrl_nodes.append(l1_cntrl)
 
+    phys_mem_size = long(phys_mem.range.second) - long(phys_mem.range.first) + 
1
+    mem_module_size = phys_mem_size / options.num_dirs
+
     for i in xrange(options.num_dirs):
         #
         # Create the Ruby objects associated with the directory controller
@@ -103,9 +106,13 @@
 
         mem_cntrl = RubyMemoryControl(version = i)
 
+        dir_size = MemorySize('0B')
+        dir_size.value = mem_module_size
+
         dir_cntrl = Directory_Controller(version = i,
                                          directory = \
-                                           RubyDirectoryMemory(version = i),
+                                         RubyDirectoryMemory(version = i,
+                                                             size = dir_size),
                                          memBuffer = mem_cntrl)
 
         dir_cntrl_nodes.append(dir_cntrl)
diff -r 69b0eb267a9b -r d1afc64b72df configs/ruby/Ruby.py
--- a/configs/ruby/Ruby.py      Thu Jan 14 22:17:27 2010 -0800
+++ b/configs/ruby/Ruby.py      Thu Jan 14 22:17:27 2010 -0800
@@ -55,11 +55,14 @@
     network = SimpleNetwork(topology = makeCrossbar(all_cntrls))
 
     #
-    # determine the total memory size of the ruby system
+    # determine the total memory size of the ruby system and verify it is equal
+    # to physmem
     #
     total_mem_size = MemorySize('0B')
     for dir_cntrl in dir_cntrls:
         total_mem_size.value += dir_cntrl.directory.size.value
+    physmem_size = long(physmem.range.second) - long(physmem.range.first) + 1
+    assert(total_mem_size.value == physmem_size)
 
     ruby_profiler = RubyProfiler(num_of_sequencers = len(cpu_sequencers))
     

_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to