summaryrefslogtreecommitdiff
path: root/configs/ruby/MESI_Three_Level.py
diff options
context:
space:
mode:
Diffstat (limited to 'configs/ruby/MESI_Three_Level.py')
-rw-r--r--configs/ruby/MESI_Three_Level.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/configs/ruby/MESI_Three_Level.py b/configs/ruby/MESI_Three_Level.py
index 5d9d5b2f8..7c80e48ad 100644
--- a/configs/ruby/MESI_Three_Level.py
+++ b/configs/ruby/MESI_Three_Level.py
@@ -49,7 +49,8 @@ def define_options(parser):
caches private to clusters")
return
-def create_system(options, full_system, system, dma_ports, ruby_system):
+def create_system(options, full_system, system, dma_ports, bootmem,
+ ruby_system):
if buildEnv['PROTOCOL'] != 'MESI_Three_Level':
fatal("This script requires the MESI_Three_Level protocol to be\
@@ -199,8 +200,11 @@ def create_system(options, full_system, system, dma_ports, ruby_system):
ruby_system.memctrl_clk_domain = DerivedClockDomain(
clk_domain = ruby_system.clk_domain, clk_divider = 3)
- dir_cntrl_nodes = create_directories(options, system.mem_ranges,
- ruby_system)
+ mem_dir_cntrl_nodes, rom_dir_cntrl_node = create_directories(
+ options, system.mem_ranges, bootmem, ruby_system, system)
+ dir_cntrl_nodes = mem_dir_cntrl_nodes[:]
+ if rom_dir_cntrl_node is not None:
+ dir_cntrl_nodes.append(rom_dir_cntrl_node)
for dir_cntrl in dir_cntrl_nodes:
# Connect the directory controllers and the network
dir_cntrl.requestToDir = MessageBuffer()
@@ -259,4 +263,4 @@ def create_system(options, full_system, system, dma_ports, ruby_system):
ruby_system.network.number_of_virtual_networks = 3
topology = create_topology(all_cntrls, options)
- return (cpu_sequencers, dir_cntrl_nodes, topology)
+ return (cpu_sequencers, mem_dir_cntrl_nodes, topology)