From 2ed724b670bcbf20ed0e8f8d5afc18ed24e1e5d3 Mon Sep 17 00:00:00 2001 From: Matthew Poremba Date: Sat, 2 Nov 2024 08:37:04 -0700 Subject: [PATCH] mem-ruby: Fix two NetDest locals using default constructor (#1746) Two NetDest locally declared variables are using default constructor instead of constructor with RubySystem pointer. This will cause asserts when (1) garnet is used or (2) a protocol that uses `broadcast()` is built. Fix these two by passing the appropriate RubySystem pointers. --- src/mem/ruby/network/garnet/NetworkInterface.cc | 2 +- src/mem/ruby/slicc_interface/AbstractController.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mem/ruby/network/garnet/NetworkInterface.cc b/src/mem/ruby/network/garnet/NetworkInterface.cc index 8564baca6d..b84a934bb6 100644 --- a/src/mem/ruby/network/garnet/NetworkInterface.cc +++ b/src/mem/ruby/network/garnet/NetworkInterface.cc @@ -404,7 +404,7 @@ NetworkInterface::flitisizeMessage(MsgPtr msg_ptr, int vnet) Message *new_net_msg_ptr = new_msg_ptr.get(); if (dest_nodes.size() > 1) { - NetDest personal_dest; + NetDest personal_dest(m_net_ptr->getRubySystem()); for (int m = 0; m < (int) MachineType_NUM; m++) { if ((destID >= MachineType_base_number((MachineType) m)) && destID < MachineType_base_number((MachineType) (m+1))) { diff --git a/src/mem/ruby/slicc_interface/AbstractController.cc b/src/mem/ruby/slicc_interface/AbstractController.cc index 0bcc662629..f706517bfa 100644 --- a/src/mem/ruby/slicc_interface/AbstractController.cc +++ b/src/mem/ruby/slicc_interface/AbstractController.cc @@ -502,7 +502,7 @@ AbstractController::broadcast(MachineType type) assert(m_ruby_system != nullptr); NodeID type_count = m_ruby_system->MachineType_base_count(type); - NetDest dest; + NetDest dest(m_ruby_system); for (NodeID i = 0; i < type_count; i++) { MachineID mach = {type, i}; dest.add(mach);