From: Gabe Black Date: Mon, 1 Oct 2018 05:44:56 +0000 (-0700) Subject: systemc: Change how the timing of binding ports works. X-Git-Tag: v19.0.0.0~1549 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=40e4a1c41895219732a610bc463bbe022523ad58;p=gem5.git systemc: Change how the timing of binding ports works. In the Accellera implementation, interfaces are bound to ports immediately if no ports have been bound, and otherwise saves them for later along with the ports. The existing implementation would save all interface and port bindings to finalize at the end of elaboration. This seems like pointless complexity, but it's necessary to get the output to match in the tests. Change-Id: Ib82d324ee2be9e56e6a41561611c7fca4f4f4e72 Reviewed-on: https://gem5-review.googlesource.com/c/13196 Reviewed-by: Gabe Black Maintainer: Gabe Black --- diff --git a/src/systemc/core/port.hh b/src/systemc/core/port.hh index eb8dbfef3..bf3b73a84 100644 --- a/src/systemc/core/port.hh +++ b/src/systemc/core/port.hh @@ -144,7 +144,10 @@ class Port void bind(::sc_core::sc_interface *interface) { - bindings.push_back(new Binding(interface)); + if (bindings.empty()) + addInterface(interface); + else + bindings.push_back(new Binding(interface)); } void