summaryrefslogtreecommitdiff
path: root/configs/ruby/MESI_Three_Level.py
diff options
context:
space:
mode:
authorNilay Vaish <nilay@cs.wisc.edu>2014-02-24 20:50:05 -0600
committerNilay Vaish <nilay@cs.wisc.edu>2014-02-24 20:50:05 -0600
commit8504b079b8e1c5bc4c14fa42ba224fe182ca43df (patch)
tree2ee42015d22e46e4d732117ef83081035cc68b8b /configs/ruby/MESI_Three_Level.py
parent3b404fb1a0e21aedcd4597d1683fd251bb9302fa (diff)
downloadgem5-8504b079b8e1c5bc4c14fa42ba224fe182ca43df.tar.xz
ruby: correct errors in changeset 4eec7bdde5b0
Couple of errors were discovered in 4eec7bdde5b0 which necessitated this patch. Firstly, we create interrupt controllers in the se mode, but no piobus was being created. RubyPort, which earlier used to ignore range changes now forwards those to the piobus. The lack of piobus resulted in segmentation fault. This patch creates a piobus even in se mode. It is not created only when some tester is running. Secondly, I had missed out on modifying port connections for other coherence protocols.
Diffstat (limited to 'configs/ruby/MESI_Three_Level.py')
-rw-r--r--configs/ruby/MESI_Three_Level.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/configs/ruby/MESI_Three_Level.py b/configs/ruby/MESI_Three_Level.py
index f9435a1e4..67ed9af74 100644
--- a/configs/ruby/MESI_Three_Level.py
+++ b/configs/ruby/MESI_Three_Level.py
@@ -117,7 +117,9 @@ def create_system(options, system, piobus, dma_ports, ruby_system):
cluster_id = i, ruby_system = ruby_system)
if piobus != None:
- cpu_seq.pio_port = piobus.slave
+ cpu_seq.pio_master_port = piobus.slave
+ cpu_seq.mem_master_port = piobus.slave
+ cpu_seq.pio_slave_port = piobus.master
exec("ruby_system.l0_cntrl%d = l0_cntrl" % (
i*num_cpus_per_cluster+j))