from m5.params import * from m5.proxy import * from MemObject import MemObject class RubyPort(MemObject): type = 'RubyPort' abstract = True port = VectorPort("M5 port") version = Param.Int(0, "") pio_port = Port("Ruby_pio_port") class RubySequencer(RubyPort): type = 'RubySequencer' cxx_class = 'Sequencer' icache = Param.RubyCache("") dcache = Param.RubyCache("") max_outstanding_requests = Param.Int(16, "max requests (incl. prefetches) outstanding") deadlock_threshold = Param.Int(500000, "max outstanding cycles for a request before deadlock/livelock declared") funcmem_port = Port("port to functional memory") class DMASequencer(RubyPort): type = 'DMASequencer'