configs: Only add CPU sequencers to piobus

GPUCoalescers in FullSystem mode should not be connected to the piobus
since they reside on a completely different RubyPort. There is also no
concept of IO requests from GPU so any request attempting to use the
default port (pio) should fatal. Further, coalescers do not implement
the connectIOPorts function.

This avoids coalescers by checking is_cpu_sequencer, which I believe is
the purpose of that boolean.

Change-Id: I482dd631292ca20e3bcd856489376f9b38457200
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/44805
Reviewed-by: Matt Sinclair <mattdsinclair@gmail.com>
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Matthew Poremba
2021-04-23 18:50:55 -05:00
parent f3b2d51baf
commit 4ef0bd03ab

View File

@@ -237,7 +237,8 @@ def create_system(options, full_system, system, piobus = None, dma_ports = [],
# Connect the cpu sequencers and the piobus
if piobus != None:
for cpu_seq in cpu_sequencers:
cpu_seq.connectIOPorts(piobus)
if cpu_seq.is_cpu_sequencer:
cpu_seq.connectIOPorts(piobus)
ruby.number_of_virtual_networks = ruby.network.number_of_virtual_networks
ruby._cpu_ports = cpu_sequencers