mem-ruby: Sequencer can be used without cache
Moved the dcache check to the LLSC functions that use it. This allows a Sequencer to be coupled with a gem5 object that does not need a cache (as long as it doesn't issue LLSC instructions). Also, icache was not used at all so it was removed. Change-Id: I04bd2711f8d0a7dfc952cff8e0020d2d1881cae1 Signed-off-by: Tiago Mück <tiago.muck@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/31267 Reviewed-by: Jason Lowe-Power <power.jg@gmail.com> Reviewed-by: Bradford Beckmann <bradford.beckmann@gmail.com> Maintainer: Jason Lowe-Power <power.jg@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
@@ -78,7 +78,6 @@ class CPCntrl(AMD_Base_Controller, CntrlBase):
|
||||
|
||||
self.sequencer = RubySequencer()
|
||||
self.sequencer.version = self.seqCount()
|
||||
self.sequencer.icache = self.L1Icache
|
||||
self.sequencer.dcache = self.L1D0cache
|
||||
self.sequencer.ruby_system = ruby_system
|
||||
self.sequencer.coreid = 0
|
||||
@@ -86,7 +85,6 @@ class CPCntrl(AMD_Base_Controller, CntrlBase):
|
||||
|
||||
self.sequencer1 = RubySequencer()
|
||||
self.sequencer1.version = self.seqCount()
|
||||
self.sequencer1.icache = self.L1Icache
|
||||
self.sequencer1.dcache = self.L1D1cache
|
||||
self.sequencer1.ruby_system = ruby_system
|
||||
self.sequencer1.coreid = 1
|
||||
|
||||
@@ -118,7 +118,6 @@ class CPCntrl(CorePair_Controller, CntrlBase):
|
||||
|
||||
self.sequencer = RubySequencer()
|
||||
self.sequencer.version = self.seqCount()
|
||||
self.sequencer.icache = self.L1Icache
|
||||
self.sequencer.dcache = self.L1D0cache
|
||||
self.sequencer.ruby_system = ruby_system
|
||||
self.sequencer.coreid = 0
|
||||
@@ -126,7 +125,6 @@ class CPCntrl(CorePair_Controller, CntrlBase):
|
||||
|
||||
self.sequencer1 = RubySequencer()
|
||||
self.sequencer1.version = self.seqCount()
|
||||
self.sequencer1.icache = self.L1Icache
|
||||
self.sequencer1.dcache = self.L1D1cache
|
||||
self.sequencer1.ruby_system = ruby_system
|
||||
self.sequencer1.coreid = 1
|
||||
@@ -180,7 +178,6 @@ class TCPCntrl(TCP_Controller, CntrlBase):
|
||||
|
||||
self.sequencer = RubySequencer()
|
||||
self.sequencer.version = self.seqCount()
|
||||
self.sequencer.icache = self.L1cache
|
||||
self.sequencer.dcache = self.L1cache
|
||||
self.sequencer.ruby_system = ruby_system
|
||||
self.sequencer.is_cpu_sequencer = True
|
||||
@@ -209,7 +206,6 @@ class TCPCntrl(TCP_Controller, CntrlBase):
|
||||
|
||||
self.sequencer = RubySequencer()
|
||||
self.sequencer.version = self.seqCount()
|
||||
self.sequencer.icache = self.L1cache
|
||||
self.sequencer.dcache = self.L1cache
|
||||
self.sequencer.ruby_system = ruby_system
|
||||
self.sequencer.is_cpu_sequencer = True
|
||||
@@ -243,7 +239,6 @@ class SQCCntrl(SQC_Controller, CntrlBase):
|
||||
self.sequencer = RubySequencer()
|
||||
|
||||
self.sequencer.version = self.seqCount()
|
||||
self.sequencer.icache = self.L1cache
|
||||
self.sequencer.dcache = self.L1cache
|
||||
self.sequencer.ruby_system = ruby_system
|
||||
self.sequencer.support_data_reqs = False
|
||||
@@ -268,7 +263,6 @@ class SQCCntrl(SQC_Controller, CntrlBase):
|
||||
self.sequencer = RubySequencer()
|
||||
|
||||
self.sequencer.version = self.seqCount()
|
||||
self.sequencer.icache = self.L1cache
|
||||
self.sequencer.dcache = self.L1cache
|
||||
self.sequencer.ruby_system = ruby_system
|
||||
self.sequencer.support_data_reqs = False
|
||||
|
||||
@@ -105,7 +105,6 @@ class CPCntrl(CorePair_Controller, CntrlBase):
|
||||
|
||||
self.sequencer = RubySequencer()
|
||||
self.sequencer.version = self.seqCount()
|
||||
self.sequencer.icache = self.L1Icache
|
||||
self.sequencer.dcache = self.L1D0cache
|
||||
self.sequencer.ruby_system = ruby_system
|
||||
self.sequencer.coreid = 0
|
||||
@@ -113,7 +112,6 @@ class CPCntrl(CorePair_Controller, CntrlBase):
|
||||
|
||||
self.sequencer1 = RubySequencer()
|
||||
self.sequencer1.version = self.seqCount()
|
||||
self.sequencer1.icache = self.L1Icache
|
||||
self.sequencer1.dcache = self.L1D1cache
|
||||
self.sequencer1.ruby_system = ruby_system
|
||||
self.sequencer1.coreid = 1
|
||||
@@ -166,7 +164,6 @@ class TCPCntrl(TCP_Controller, CntrlBase):
|
||||
|
||||
self.sequencer = RubySequencer()
|
||||
self.sequencer.version = self.seqCount()
|
||||
self.sequencer.icache = self.L1cache
|
||||
self.sequencer.dcache = self.L1cache
|
||||
self.sequencer.ruby_system = ruby_system
|
||||
self.sequencer.is_cpu_sequencer = True
|
||||
@@ -197,7 +194,6 @@ class TCPCntrl(TCP_Controller, CntrlBase):
|
||||
|
||||
self.sequencer = RubySequencer()
|
||||
self.sequencer.version = self.seqCount()
|
||||
self.sequencer.icache = self.L1cache
|
||||
self.sequencer.dcache = self.L1cache
|
||||
self.sequencer.ruby_system = ruby_system
|
||||
self.sequencer.is_cpu_sequencer = True
|
||||
@@ -232,7 +228,6 @@ class SQCCntrl(SQC_Controller, CntrlBase):
|
||||
self.sequencer = RubySequencer()
|
||||
|
||||
self.sequencer.version = self.seqCount()
|
||||
self.sequencer.icache = self.L1cache
|
||||
self.sequencer.dcache = self.L1cache
|
||||
self.sequencer.ruby_system = ruby_system
|
||||
self.sequencer.support_data_reqs = False
|
||||
|
||||
@@ -104,7 +104,6 @@ class CPCntrl(CorePair_Controller, CntrlBase):
|
||||
|
||||
self.sequencer = RubySequencer()
|
||||
self.sequencer.version = self.seqCount()
|
||||
self.sequencer.icache = self.L1Icache
|
||||
self.sequencer.dcache = self.L1D0cache
|
||||
self.sequencer.ruby_system = ruby_system
|
||||
self.sequencer.coreid = 0
|
||||
@@ -112,7 +111,6 @@ class CPCntrl(CorePair_Controller, CntrlBase):
|
||||
|
||||
self.sequencer1 = RubySequencer()
|
||||
self.sequencer1.version = self.seqCount()
|
||||
self.sequencer1.icache = self.L1Icache
|
||||
self.sequencer1.dcache = self.L1D1cache
|
||||
self.sequencer1.ruby_system = ruby_system
|
||||
self.sequencer1.coreid = 1
|
||||
@@ -165,7 +163,6 @@ class TCPCntrl(TCP_Controller, CntrlBase):
|
||||
|
||||
self.sequencer = RubySequencer()
|
||||
self.sequencer.version = self.seqCount()
|
||||
self.sequencer.icache = self.L1cache
|
||||
self.sequencer.dcache = self.L1cache
|
||||
self.sequencer.ruby_system = ruby_system
|
||||
self.sequencer.is_cpu_sequencer = True
|
||||
@@ -196,7 +193,6 @@ class SQCCntrl(SQC_Controller, CntrlBase):
|
||||
self.L1cache.resourceStalls = False
|
||||
self.sequencer = RubySequencer()
|
||||
self.sequencer.version = self.seqCount()
|
||||
self.sequencer.icache = self.L1cache
|
||||
self.sequencer.dcache = self.L1cache
|
||||
self.sequencer.ruby_system = ruby_system
|
||||
self.sequencer.support_data_reqs = False
|
||||
|
||||
@@ -105,7 +105,6 @@ class CPCntrl(CorePair_Controller, CntrlBase):
|
||||
|
||||
self.sequencer = RubySequencer()
|
||||
self.sequencer.version = self.seqCount()
|
||||
self.sequencer.icache = self.L1Icache
|
||||
self.sequencer.dcache = self.L1D0cache
|
||||
self.sequencer.ruby_system = ruby_system
|
||||
self.sequencer.coreid = 0
|
||||
@@ -113,7 +112,6 @@ class CPCntrl(CorePair_Controller, CntrlBase):
|
||||
|
||||
self.sequencer1 = RubySequencer()
|
||||
self.sequencer1.version = self.seqCount()
|
||||
self.sequencer1.icache = self.L1Icache
|
||||
self.sequencer1.dcache = self.L1D1cache
|
||||
self.sequencer1.ruby_system = ruby_system
|
||||
self.sequencer1.coreid = 1
|
||||
@@ -166,7 +164,6 @@ class TCPCntrl(TCP_Controller, CntrlBase):
|
||||
|
||||
self.sequencer = RubySequencer()
|
||||
self.sequencer.version = self.seqCount()
|
||||
self.sequencer.icache = self.L1cache
|
||||
self.sequencer.dcache = self.L1cache
|
||||
self.sequencer.ruby_system = ruby_system
|
||||
self.sequencer.is_cpu_sequencer = True
|
||||
@@ -197,7 +194,6 @@ class SQCCntrl(SQC_Controller, CntrlBase):
|
||||
self.L1cache.resourceStalls = False
|
||||
self.sequencer = RubySequencer()
|
||||
self.sequencer.version = self.seqCount()
|
||||
self.sequencer.icache = self.L1cache
|
||||
self.sequencer.dcache = self.L1cache
|
||||
self.sequencer.ruby_system = ruby_system
|
||||
self.sequencer.support_data_reqs = False
|
||||
|
||||
@@ -79,8 +79,7 @@ def create_system(options, full_system, system, dma_ports, bootmem,
|
||||
cacheMemory = cache,
|
||||
ruby_system = ruby_system)
|
||||
|
||||
cpu_seq = RubySequencer(icache = cache,
|
||||
dcache = cache,
|
||||
cpu_seq = RubySequencer(dcache = cache,
|
||||
garnet_standalone = True,
|
||||
ruby_system = ruby_system)
|
||||
|
||||
|
||||
@@ -141,7 +141,6 @@ def create_system(options, full_system, system, dma_ports, bootmem,
|
||||
ruby_system = ruby_system)
|
||||
|
||||
cpu_seq = RubySequencer(version = i * num_cpus_per_cluster + j,
|
||||
icache = l0i_cache,
|
||||
clk_domain = clk_domain,
|
||||
dcache = l0d_cache,
|
||||
ruby_system = ruby_system)
|
||||
|
||||
@@ -102,7 +102,7 @@ def create_system(options, full_system, system, dma_ports, bootmem,
|
||||
transitions_per_cycle = options.ports,
|
||||
enable_prefetch = False)
|
||||
|
||||
cpu_seq = RubySequencer(version = i, icache = l1i_cache,
|
||||
cpu_seq = RubySequencer(version = i,
|
||||
dcache = l1d_cache, clk_domain = clk_domain,
|
||||
ruby_system = ruby_system)
|
||||
|
||||
|
||||
@@ -92,7 +92,7 @@ def create_system(options, full_system, system, dma_ports, bootmem,
|
||||
clk_domain=clk_domain,
|
||||
ruby_system=ruby_system)
|
||||
|
||||
cpu_seq = RubySequencer(version=i, icache=cache, dcache=cache,
|
||||
cpu_seq = RubySequencer(version=i, dcache=cache,
|
||||
clk_domain=clk_domain, ruby_system=ruby_system)
|
||||
|
||||
l1_cntrl.sequencer = cpu_seq
|
||||
|
||||
@@ -101,7 +101,6 @@ class CPCntrl(CorePair_Controller, CntrlBase):
|
||||
|
||||
self.sequencer = RubySequencer()
|
||||
self.sequencer.version = self.seqCount()
|
||||
self.sequencer.icache = self.L1Icache
|
||||
self.sequencer.dcache = self.L1D0cache
|
||||
self.sequencer.ruby_system = ruby_system
|
||||
self.sequencer.coreid = 0
|
||||
@@ -109,7 +108,6 @@ class CPCntrl(CorePair_Controller, CntrlBase):
|
||||
|
||||
self.sequencer1 = RubySequencer()
|
||||
self.sequencer1.version = self.seqCount()
|
||||
self.sequencer1.icache = self.L1Icache
|
||||
self.sequencer1.dcache = self.L1D1cache
|
||||
self.sequencer1.ruby_system = ruby_system
|
||||
self.sequencer1.coreid = 1
|
||||
|
||||
@@ -113,7 +113,7 @@ def create_system(options, full_system, system, dma_ports, bootmem,
|
||||
clk_domain=clk_domain,
|
||||
ruby_system=ruby_system)
|
||||
|
||||
cpu_seq = RubySequencer(version=i, icache=l1i_cache,
|
||||
cpu_seq = RubySequencer(version=i,
|
||||
dcache=l1d_cache, clk_domain=clk_domain,
|
||||
ruby_system=ruby_system)
|
||||
|
||||
|
||||
@@ -117,7 +117,7 @@ def create_system(options, full_system, system, dma_ports, bootmem,
|
||||
clk_domain=clk_domain,
|
||||
ruby_system=ruby_system)
|
||||
|
||||
cpu_seq = RubySequencer(version=i, icache=l1i_cache,
|
||||
cpu_seq = RubySequencer(version=i,
|
||||
dcache=l1d_cache, clk_domain=clk_domain,
|
||||
ruby_system=ruby_system)
|
||||
|
||||
|
||||
@@ -109,7 +109,7 @@ def create_system(options, full_system, system, dma_ports, bootmem,
|
||||
clk_domain=clk_domain,
|
||||
ruby_system=ruby_system)
|
||||
|
||||
cpu_seq = RubySequencer(version=i, icache=l1i_cache,
|
||||
cpu_seq = RubySequencer(version=i,
|
||||
dcache=l1d_cache,clk_domain=clk_domain,
|
||||
ruby_system=ruby_system)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user