summaryrefslogtreecommitdiff
path: root/configs/ruby
diff options
context:
space:
mode:
authorBrad Beckmann <Brad.Beckmann@amd.com>2010-08-20 11:44:09 -0700
committerBrad Beckmann <Brad.Beckmann@amd.com>2010-08-20 11:44:09 -0700
commit5c801090a3e7961fe71c308a629c4529d2dc0de2 (patch)
tree4c447dc6acd73222870befbabfaee625a61bd204 /configs/ruby
parenteb1e5636e31f7dd0d1dc650ce46a90a4ce7c6832 (diff)
downloadgem5-5c801090a3e7961fe71c308a629c4529d2dc0de2.tar.xz
config: reorganized how ruby specifies command-line options
Diffstat (limited to 'configs/ruby')
-rw-r--r--configs/ruby/MESI_CMP_directory.py3
-rw-r--r--configs/ruby/MI_example.py3
-rw-r--r--configs/ruby/MOESI_CMP_directory.py3
-rw-r--r--configs/ruby/MOESI_CMP_token.py3
-rw-r--r--configs/ruby/MOESI_hammer.py3
-rw-r--r--configs/ruby/Ruby.py21
6 files changed, 36 insertions, 0 deletions
diff --git a/configs/ruby/MESI_CMP_directory.py b/configs/ruby/MESI_CMP_directory.py
index 9b62a15af..2e9345212 100644
--- a/configs/ruby/MESI_CMP_directory.py
+++ b/configs/ruby/MESI_CMP_directory.py
@@ -44,6 +44,9 @@ class L1Cache(RubyCache):
class L2Cache(RubyCache):
latency = 15
+def define_options(parser):
+ return
+
def create_system(options, phys_mem, piobus, dma_devices):
if buildEnv['PROTOCOL'] != 'MESI_CMP_directory':
diff --git a/configs/ruby/MI_example.py b/configs/ruby/MI_example.py
index 29d99b46e..ce0918de8 100644
--- a/configs/ruby/MI_example.py
+++ b/configs/ruby/MI_example.py
@@ -37,6 +37,9 @@ from m5.defines import buildEnv
class Cache(RubyCache):
latency = 3
+def define_options(parser):
+ return
+
def create_system(options, phys_mem, piobus, dma_devices):
if buildEnv['PROTOCOL'] != 'MI_example':
diff --git a/configs/ruby/MOESI_CMP_directory.py b/configs/ruby/MOESI_CMP_directory.py
index a4069d94d..8c332f8e4 100644
--- a/configs/ruby/MOESI_CMP_directory.py
+++ b/configs/ruby/MOESI_CMP_directory.py
@@ -44,6 +44,9 @@ class L1Cache(RubyCache):
class L2Cache(RubyCache):
latency = 15
+def define_options(parser):
+ return
+
def create_system(options, phys_mem, piobus, dma_devices):
if buildEnv['PROTOCOL'] != 'MOESI_CMP_directory':
diff --git a/configs/ruby/MOESI_CMP_token.py b/configs/ruby/MOESI_CMP_token.py
index 537a1543c..5d3ddf190 100644
--- a/configs/ruby/MOESI_CMP_token.py
+++ b/configs/ruby/MOESI_CMP_token.py
@@ -44,6 +44,9 @@ class L1Cache(RubyCache):
class L2Cache(RubyCache):
latency = 15
+def define_options(parser):
+ return
+
def create_system(options, phys_mem, piobus, dma_devices):
if buildEnv['PROTOCOL'] != 'MOESI_CMP_token':
diff --git a/configs/ruby/MOESI_hammer.py b/configs/ruby/MOESI_hammer.py
index 2d2d75dc2..705b569ac 100644
--- a/configs/ruby/MOESI_hammer.py
+++ b/configs/ruby/MOESI_hammer.py
@@ -43,6 +43,9 @@ class L1Cache(RubyCache):
class L2Cache(RubyCache):
latency = 15
+def define_options(parser):
+ return
+
def create_system(options, phys_mem, piobus, dma_devices):
if buildEnv['PROTOCOL'] != 'MOESI_hammer':
diff --git a/configs/ruby/Ruby.py b/configs/ruby/Ruby.py
index 66293af64..77c975842 100644
--- a/configs/ruby/Ruby.py
+++ b/configs/ruby/Ruby.py
@@ -31,6 +31,27 @@ import m5
from m5.objects import *
from m5.defines import buildEnv
+def define_options(parser):
+ # ruby network options
+ parser.add_option("--topology", type="string", default="Crossbar",
+ help="check src/mem/ruby/network/topologies for complete set")
+ parser.add_option("--mesh-rows", type="int", default=1,
+ help="the number of rows in the mesh topology")
+ parser.add_option("--garnet-network", type="string", default=none,
+ help="'fixed'|'flexible'")
+
+ # ruby mapping options
+ parser.add_option("--numa-high-bit", type="int", default=none,
+ help="high order address bit to use for numa mapping")
+
+ # ruby sparse memory options
+ parser.add_option("--use-map", action="store_true", default=False)
+ parser.add_option("--map-levels", type="int", default=4)
+
+ protocol = buildEnv['PROTOCOL']
+ exec "import %s" % protocol
+ eval("%s.define_options(parser)" % protocol)
+
def create_system(options, physmem, piobus = None, dma_devices = []):
protocol = buildEnv['PROTOCOL']