summaryrefslogtreecommitdiff
path: root/src/mem/ruby/system/Sequencer.py
diff options
context:
space:
mode:
authorNilay Vaish <nilay@cs.wisc.edu>2014-11-06 00:55:09 -0600
committerNilay Vaish <nilay@cs.wisc.edu>2014-11-06 00:55:09 -0600
commit8ccfd9defa930d5c2904134d7a7286682e721db9 (patch)
tree48f55df4f9446255c44c649a6d203793dd801e62 /src/mem/ruby/system/Sequencer.py
parentae82551496155588786751a3a92191069488d7f3 (diff)
downloadgem5-8ccfd9defa930d5c2904134d7a7286682e721db9.tar.xz
ruby: dma sequencer: remove RubyPort as parent class
As of now DMASequencer inherits from the RubyPort class. But the code in RubyPort class is heavily tailored for the CPU Sequencer. There are parts of the code that are not required at all for the DMA sequencer. Moreover, the next patch uses the dma sequencer for carrying out memory accesses for all the io devices. Hence, it is better to have a leaner dma sequencer.
Diffstat (limited to 'src/mem/ruby/system/Sequencer.py')
-rw-r--r--src/mem/ruby/system/Sequencer.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/mem/ruby/system/Sequencer.py b/src/mem/ruby/system/Sequencer.py
index 8ebd63dee..8bad83db5 100644
--- a/src/mem/ruby/system/Sequencer.py
+++ b/src/mem/ruby/system/Sequencer.py
@@ -52,7 +52,6 @@ class RubyPort(MemObject):
support_data_reqs = Param.Bool(True, "data cache requests supported")
support_inst_reqs = Param.Bool(True, "inst cache requests supported")
-
class RubyPortProxy(RubyPort):
type = 'RubyPortProxy'
cxx_header = "mem/ruby/system/RubyPortProxy.hh"
@@ -71,7 +70,15 @@ class RubySequencer(RubyPort):
"max outstanding cycles for a request before deadlock/livelock declared")
using_network_tester = Param.Bool(False, "")
-class DMASequencer(RubyPort):
+class DMASequencer(MemObject):
type = 'DMASequencer'
cxx_header = "mem/ruby/system/DMASequencer.hh"
- access_phys_mem = True
+ version = Param.Int(0, "")
+
+ slave = SlavePort("Device slave port")
+
+ using_ruby_tester = Param.Bool(False, "")
+ access_phys_mem = Param.Bool(True,
+ "should the dma atomically update phys_mem")
+ ruby_system = Param.RubySystem(Parent.any, "")
+ system = Param.System(Parent.any, "system object")