systemc: Fix tlm2 socket integration

This change will make the systemc extension in gem5 more compatible to
the reference implementation by Accellera.

* Remove the alias of sc_port's bind in initiator socket.
* Ignore -Woverloaded-virtual in initiator socket.

Change-Id: I229e4d493e01d26174c5662ad71d4859d546d307
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23864
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
This commit is contained in:
Jui-min Lee
2019-12-19 18:10:06 +08:00
parent faae467fd9
commit 54458b125b

View File

@@ -51,6 +51,10 @@ template <unsigned int BUSWIDTH, typename FW_IF, typename BW_IF, int N,
sc_core::sc_port_policy POL>
class tlm_base_target_socket;
// The overloaded virtual is intended in SystemC, so we'll disable the warning.
// Please check section 9.3 of SystemC 2.3.1 release note for more details.
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Woverloaded-virtual"
template <unsigned int BUSWIDTH=32, typename FW_IF=tlm_fw_transport_if<>,
typename BW_IF=tlm_bw_transport_if<>, int N=1,
sc_core::sc_port_policy POL=sc_core::SC_ONE_OR_MORE_BOUND>
@@ -120,8 +124,6 @@ class tlm_base_initiator_socket :
(s.get_base_export())(get_base_export());
}
using port_type::bind;
void operator() (base_type &s) { bind(s); }
//
@@ -172,6 +174,7 @@ class tlm_base_initiator_socket :
protected:
export_type m_export;
};
#pragma GCC diagnostic pop
//
// Convenience socket classes