learning_gem5: Replace master/slave terminology from learning_gem5 scripts

Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Change-Id: I6c30d18155acb151d732ae7e35e29f6facad78fd
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/52864
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
This commit is contained in:
Giacomo Travaglini
2021-11-09 10:21:58 +00:00
parent 34826f1892
commit f1fc49ed13
3 changed files with 28 additions and 27 deletions

View File

@@ -98,7 +98,7 @@ class MyCacheSystem(RubySystem):
# Set up a proxy port for the system_port. Used for load binaries and
# other functional-only things.
self.sys_port_proxy = RubyPortProxy()
system.system_port = self.sys_port_proxy.slave
system.system_port = self.sys_port_proxy.in_ports
# Connect the cpu's cache, interrupt, and TLB ports to Ruby
for i,cpu in enumerate(cpus):
@@ -155,18 +155,19 @@ class L1Cache(L1Cache_Controller):
# explicitly connected to anything.
self.mandatoryQueue = MessageBuffer()
# All message buffers must be created and connected to the general
# Ruby network. In this case, "slave/master" don't mean the same thing
# as normal gem5 ports. If a MessageBuffer is a "to" buffer (i.e., out)
# then you use the "master", otherwise, the slave.
# All message buffers must be created and connected to the
# general Ruby network. In this case, "in_port/out_port" don't
# mean the same thing as normal gem5 ports. If a MessageBuffer
# is a "to" buffer (i.e., out) then you use the "out_port",
# otherwise, the in_port.
self.requestToDir = MessageBuffer(ordered = True)
self.requestToDir.master = ruby_system.network.slave
self.requestToDir.out_port = ruby_system.network.in_port
self.responseToDirOrSibling = MessageBuffer(ordered = True)
self.responseToDirOrSibling.master = ruby_system.network.slave
self.responseToDirOrSibling.out_port = ruby_system.network.in_port
self.forwardFromDir = MessageBuffer(ordered = True)
self.forwardFromDir.slave = ruby_system.network.master
self.forwardFromDir.in_port = ruby_system.network.out_port
self.responseFromDirOrSibling = MessageBuffer(ordered = True)
self.responseFromDirOrSibling.slave = ruby_system.network.master
self.responseFromDirOrSibling.in_port = ruby_system.network.out_port
class DirController(Directory_Controller):
@@ -192,14 +193,14 @@ class DirController(Directory_Controller):
def connectQueues(self, ruby_system):
self.requestFromCache = MessageBuffer(ordered = True)
self.requestFromCache.slave = ruby_system.network.master
self.requestFromCache.in_port = ruby_system.network.out_port
self.responseFromCache = MessageBuffer(ordered = True)
self.responseFromCache.slave = ruby_system.network.master
self.responseFromCache.in_port = ruby_system.network.out_port
self.responseToCache = MessageBuffer(ordered = True)
self.responseToCache.master = ruby_system.network.slave
self.responseToCache.out_port = ruby_system.network.in_port
self.forwardToCache = MessageBuffer(ordered = True)
self.forwardToCache.master = ruby_system.network.slave
self.forwardToCache.out_port = ruby_system.network.in_port
# These are other special message buffers. They are used to send
# requests to memory and responses from memory back to the controller.

View File

@@ -96,7 +96,7 @@ class MyCacheSystem(RubySystem):
# Set up a proxy port for the system_port. Used for load binaries and
# other functional-only things.
self.sys_port_proxy = RubyPortProxy()
system.system_port = self.sys_port_proxy.slave
system.system_port = self.sys_port_proxy.in_ports
# Connect the cpu's cache, interrupt, and TLB ports to Ruby
for i,cpu in enumerate(cpus):
@@ -149,13 +149,13 @@ class L1Cache(L1Cache_Controller):
"""
self.mandatoryQueue = MessageBuffer()
self.requestFromCache = MessageBuffer(ordered = True)
self.requestFromCache.master = ruby_system.network.slave
self.requestFromCache.out_port = ruby_system.network.in_port
self.responseFromCache = MessageBuffer(ordered = True)
self.responseFromCache.master = ruby_system.network.slave
self.responseFromCache.out_port = ruby_system.network.in_port
self.forwardToCache = MessageBuffer(ordered = True)
self.forwardToCache.slave = ruby_system.network.master
self.forwardToCache.in_port = ruby_system.network.out_port
self.responseToCache = MessageBuffer(ordered = True)
self.responseToCache.slave = ruby_system.network.master
self.responseToCache.in_port = ruby_system.network.out_port
class DirController(Directory_Controller):
@@ -181,16 +181,16 @@ class DirController(Directory_Controller):
def connectQueues(self, ruby_system):
self.requestToDir = MessageBuffer(ordered = True)
self.requestToDir.slave = ruby_system.network.master
self.requestToDir.in_port = ruby_system.network.out_port
self.dmaRequestToDir = MessageBuffer(ordered = True)
self.dmaRequestToDir.slave = ruby_system.network.master
self.dmaRequestToDir.in_port = ruby_system.network.out_port
self.responseFromDir = MessageBuffer()
self.responseFromDir.master = ruby_system.network.slave
self.responseFromDir.out_port = ruby_system.network.in_port
self.dmaResponseFromDir = MessageBuffer(ordered = True)
self.dmaResponseFromDir.master = ruby_system.network.slave
self.dmaResponseFromDir.out_port = ruby_system.network.in_port
self.forwardFromDir = MessageBuffer()
self.forwardFromDir.master = ruby_system.network.slave
self.forwardFromDir.out_port = ruby_system.network.in_port
self.requestToMemory = MessageBuffer()
self.responseFromMemory = MessageBuffer()

View File

@@ -90,16 +90,16 @@ class TestCacheSystem(RubySystem):
# Set up a proxy port for the system_port. Used for load binaries and
# other functional-only things.
self.sys_port_proxy = RubyPortProxy()
system.system_port = self.sys_port_proxy.slave
system.system_port = self.sys_port_proxy.in_ports
# Connect up the sequencers to the random tester
for seq in self.sequencers:
if seq.support_data_reqs and seq.support_inst_reqs:
tester.cpuInstDataPort = seq.slave
tester.cpuInstDataPort = seq.in_ports
elif seq.support_data_reqs:
tester.cpuDataPort = seq.slave
tester.cpuDataPort = seq.in_ports
elif seq.support_inst_reqs:
tester.cpuInstDataPort = seq.slave
tester.cpuInstDataPort = seq.in_ports
# Do not automatically retry stalled Ruby requests
seq.no_retry_on_stall = True