mem-ruby: Fix issues in protocols due to multi-RubySystem (#1690)

Starting with https://github.com/gem5/gem5/pull/1453 , some Ruby
structures require a block size be set
and other require a pointer to the Ruby system. This fixes some cases
which were not covered by the per-checkin tests but seen in daily+
tests. In particular:

 - WriteMasks and PerfectCacheMemory must explicitly set a block size.
 - NetDest and RubyProxyPort require RubySystem pointer.
 - Classes inheriting Message now have a setRubySystem collecting all
   objects that need a RubySystem pointer and this should be called in
   the constructor of the Message.

This commit makes sure all of these happen. This should fix daily
arm_boot_tests and daily learning_gem5 tests.
This commit is contained in:
Matthew Poremba
2024-10-21 12:30:03 -07:00
committed by GitHub
parent 2c679bfa04
commit 16217f843f
7 changed files with 10 additions and 2 deletions

View File

@@ -103,7 +103,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()
self.sys_port_proxy = RubyPortProxy(ruby_system=self)
system.system_port = self.sys_port_proxy.in_ports
# Connect the cpu's cache, interrupt, and TLB ports to Ruby