summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNilay Vaish <nilay@cs.wisc.edu>2013-06-28 21:36:11 -0500
committerNilay Vaish <nilay@cs.wisc.edu>2013-06-28 21:36:11 -0500
commit62a93f0bf03385c5ed298b740162b06022f2e2ee (patch)
tree43bde41c745f95c98f37ed7d64a55bb58f27b3ae
parent5a15909bac241dc795c691d49c4e2c68cab745f4 (diff)
downloadgem5-62a93f0bf03385c5ed298b740162b06022f2e2ee.tar.xz
ruby: check for compatibility between mem size and num dirs
The configuration scripts provided for ruby assume that the available physical memory is equally distributed amongst the directory controllers. But there is no check to ensure this assumption has been adhered to. This patch adds the required check.
-rw-r--r--configs/ruby/MESI_CMP_directory.py1
-rw-r--r--configs/ruby/MI_example.py1
-rw-r--r--configs/ruby/MOESI_CMP_directory.py1
-rw-r--r--configs/ruby/MOESI_CMP_token.py1
-rw-r--r--configs/ruby/MOESI_hammer.py1
-rw-r--r--configs/ruby/Network_test.py1
6 files changed, 6 insertions, 0 deletions
diff --git a/configs/ruby/MESI_CMP_directory.py b/configs/ruby/MESI_CMP_directory.py
index 4128f87ad..e263b4e5a 100644
--- a/configs/ruby/MESI_CMP_directory.py
+++ b/configs/ruby/MESI_CMP_directory.py
@@ -142,6 +142,7 @@ def create_system(options, system, piobus, dma_ports, ruby_system):
phys_mem_size = sum(map(lambda mem: mem.range.size(),
system.memories.unproxy(system)))
+ assert(phys_mem_size % options.num_dirs == 0)
mem_module_size = phys_mem_size / options.num_dirs
# Run each of the ruby memory controllers at a ratio of the frequency of
diff --git a/configs/ruby/MI_example.py b/configs/ruby/MI_example.py
index 6bbd35ea7..896a01a61 100644
--- a/configs/ruby/MI_example.py
+++ b/configs/ruby/MI_example.py
@@ -107,6 +107,7 @@ def create_system(options, system, piobus, dma_ports, ruby_system):
phys_mem_size = sum(map(lambda mem: mem.range.size(),
system.memories.unproxy(system)))
+ assert(phys_mem_size % options.num_dirs == 0)
mem_module_size = phys_mem_size / options.num_dirs
# Run each of the ruby memory controllers at a ratio of the frequency of
diff --git a/configs/ruby/MOESI_CMP_directory.py b/configs/ruby/MOESI_CMP_directory.py
index 81d04914c..bc1f7d641 100644
--- a/configs/ruby/MOESI_CMP_directory.py
+++ b/configs/ruby/MOESI_CMP_directory.py
@@ -137,6 +137,7 @@ def create_system(options, system, piobus, dma_ports, ruby_system):
phys_mem_size = sum(map(lambda mem: mem.range.size(),
system.memories.unproxy(system)))
+ assert(phys_mem_size % options.num_dirs == 0)
mem_module_size = phys_mem_size / options.num_dirs
# Run each of the ruby memory controllers at a ratio of the frequency of
diff --git a/configs/ruby/MOESI_CMP_token.py b/configs/ruby/MOESI_CMP_token.py
index 9c2598a1d..4ede788a8 100644
--- a/configs/ruby/MOESI_CMP_token.py
+++ b/configs/ruby/MOESI_CMP_token.py
@@ -158,6 +158,7 @@ def create_system(options, system, piobus, dma_ports, ruby_system):
phys_mem_size = sum(map(lambda mem: mem.range.size(),
system.memories.unproxy(system)))
+ assert(phys_mem_size % options.num_dirs == 0)
mem_module_size = phys_mem_size / options.num_dirs
# Run each of the ruby memory controllers at a ratio of the frequency of
diff --git a/configs/ruby/MOESI_hammer.py b/configs/ruby/MOESI_hammer.py
index 11ea579ea..da8b004ee 100644
--- a/configs/ruby/MOESI_hammer.py
+++ b/configs/ruby/MOESI_hammer.py
@@ -133,6 +133,7 @@ def create_system(options, system, piobus, dma_ports, ruby_system):
phys_mem_size = sum(map(lambda mem: mem.range.size(),
system.memories.unproxy(system)))
+ assert(phys_mem_size % options.num_dirs == 0)
mem_module_size = phys_mem_size / options.num_dirs
#
diff --git a/configs/ruby/Network_test.py b/configs/ruby/Network_test.py
index c4df4dddb..d7b04cd31 100644
--- a/configs/ruby/Network_test.py
+++ b/configs/ruby/Network_test.py
@@ -105,6 +105,7 @@ def create_system(options, system, piobus, dma_ports, ruby_system):
phys_mem_size = sum(map(lambda mem: mem.range.size(),
system.memories.unproxy(system)))
+ assert(phys_mem_size % options.num_dirs == 0)
mem_module_size = phys_mem_size / options.num_dirs
# Run each of the ruby memory controllers at a ratio of the frequency of