From b5045005de6747a5247deb13af9974cfc6b73b08 Mon Sep 17 00:00:00 2001 From: Christian Menard Date: Thu, 9 Feb 2017 19:15:43 -0500 Subject: misc: Clean up and complete the gem5<->SystemC-TLM bridge [7/10] The current TLM bridge only provides a Slave Port that allows the gem5 world to send request to the SystemC world. This patch series refractors and cleans up the existing code, and adds a Master Port that allows the SystemC world to send requests to the gem5 world. This patch: * Implement 'pipe through' for gem5 Packets (see explanation below) Basically, this patch ensures that all transactions that originated in the gem5 world are converted back to the original packet when entering the gem5 world. So far, this only worked for packets that are responded to by a SyctemC component (e.g. when a gem5 CPU sends a request to a SystemC memory). By implementing the 'pipe through' this patch ensures, that packets that are responded to by a gem5 component (e.g. when a gem5 CPU sends a request to a gem5 memory via a SystemC interconnect) are handled properly. Reviewed at http://reviews.gem5.org/r/3796/ Signed-off-by: Jason Lowe-Power --- util/tlm/sc_ext.cc | 1 + 1 file changed, 1 insertion(+) (limited to 'util/tlm/sc_ext.cc') diff --git a/util/tlm/sc_ext.cc b/util/tlm/sc_ext.cc index db0c36f03..439e1ca15 100644 --- a/util/tlm/sc_ext.cc +++ b/util/tlm/sc_ext.cc @@ -45,6 +45,7 @@ namespace Gem5SystemC Gem5Extension::Gem5Extension(PacketPtr packet) { Packet = packet; + pipeThrough = false; } Gem5Extension& Gem5Extension::getExtension(const tlm_generic_payload *payload) -- cgit v1.2.3