diff options
author | Nilay Vaish <nilay@cs.wisc.edu> | 2014-02-24 20:50:05 -0600 |
---|---|---|
committer | Nilay Vaish <nilay@cs.wisc.edu> | 2014-02-24 20:50:05 -0600 |
commit | 8504b079b8e1c5bc4c14fa42ba224fe182ca43df (patch) | |
tree | 2ee42015d22e46e4d732117ef83081035cc68b8b /configs/ruby | |
parent | 3b404fb1a0e21aedcd4597d1683fd251bb9302fa (diff) | |
download | gem5-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')
-rw-r--r-- | configs/ruby/MESI_Three_Level.py | 4 | ||||
-rw-r--r-- | configs/ruby/MI_example.py | 4 | ||||
-rw-r--r-- | configs/ruby/MOESI_CMP_directory.py | 4 | ||||
-rw-r--r-- | configs/ruby/MOESI_CMP_token.py | 4 | ||||
-rw-r--r-- | configs/ruby/MOESI_hammer.py | 4 |
5 files changed, 15 insertions, 5 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)) diff --git a/configs/ruby/MI_example.py b/configs/ruby/MI_example.py index 8f6c6e490..ed18c14cb 100644 --- a/configs/ruby/MI_example.py +++ b/configs/ruby/MI_example.py @@ -92,7 +92,9 @@ def create_system(options, system, piobus, dma_ports, ruby_system): l1_cntrl.sequencer = cpu_seq 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.l1_cntrl%d = l1_cntrl" % i) # diff --git a/configs/ruby/MOESI_CMP_directory.py b/configs/ruby/MOESI_CMP_directory.py index 9ebee8952..0af4643af 100644 --- a/configs/ruby/MOESI_CMP_directory.py +++ b/configs/ruby/MOESI_CMP_directory.py @@ -102,7 +102,9 @@ def create_system(options, system, piobus, dma_ports, ruby_system): l1_cntrl.sequencer = cpu_seq 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.l1_cntrl%d = l1_cntrl" % i) # diff --git a/configs/ruby/MOESI_CMP_token.py b/configs/ruby/MOESI_CMP_token.py index 699f159f8..78ccef71a 100644 --- a/configs/ruby/MOESI_CMP_token.py +++ b/configs/ruby/MOESI_CMP_token.py @@ -122,7 +122,9 @@ def create_system(options, system, piobus, dma_ports, ruby_system): l1_cntrl.sequencer = cpu_seq 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.l1_cntrl%d = l1_cntrl" % i) # diff --git a/configs/ruby/MOESI_hammer.py b/configs/ruby/MOESI_hammer.py index 47e37de30..d716aba7a 100644 --- a/configs/ruby/MOESI_hammer.py +++ b/configs/ruby/MOESI_hammer.py @@ -115,7 +115,9 @@ def create_system(options, system, piobus, dma_ports, ruby_system): l1_cntrl.sequencer = cpu_seq 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 if options.recycle_latency: l1_cntrl.recycle_latency = options.recycle_latency |