From b25ea094d4350b8257d5f383a123ea620b614adf Mon Sep 17 00:00:00 2001 From: Christian Menard Date: Thu, 9 Feb 2017 19:15:30 -0500 Subject: misc: Clean up and complete the gem5<->SystemC-TLM bridge [1/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: * Restructure the existing sources in preparation of the addition of the * new Master Port. * Refractor names to allow for distinction of the slave and master port. * Replace the Makefile by a SConstruct. Testing Done: The examples provided in util/tlm (now util/tlm/examples/slave_port) still compile and run error free. Reviewed at http://reviews.gem5.org/r/3527/ Signed-off-by: Jason Lowe-Power --- util/tlm/sc_ext.hh | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'util/tlm/sc_ext.hh') diff --git a/util/tlm/sc_ext.hh b/util/tlm/sc_ext.hh index cb7411e44..79416f5ce 100644 --- a/util/tlm/sc_ext.hh +++ b/util/tlm/sc_ext.hh @@ -1,5 +1,6 @@ /* * Copyright (c) 2015, University of Kaiserslautern + * Copyright (c) 2016, Dresden University of Technology (TU Dresden) * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,10 +32,11 @@ * * Authors: * Matthias Jung + * Christian Menard */ -#ifndef SC_EXT_H_ -#define SC_EXT_H_ +#ifndef __SC_EXT_HH__ +#define __SC_EXT_HH__ #include #include @@ -43,20 +45,27 @@ #include "mem/packet.hh" -class gem5Extension: public tlm::tlm_extension +namespace Gem5SystemC +{ + +class Gem5Extension: public tlm::tlm_extension { public: - gem5Extension(PacketPtr packet); + Gem5Extension(PacketPtr packet); virtual tlm_extension_base* clone() const; virtual void copy_from(const tlm_extension_base& ext); - static gem5Extension& getExtension(const tlm::tlm_generic_payload *payload); - static gem5Extension& getExtension(const tlm::tlm_generic_payload &payload); + static Gem5Extension& + getExtension(const tlm::tlm_generic_payload *payload); + static Gem5Extension& + getExtension(const tlm::tlm_generic_payload &payload); PacketPtr getPacket(); private: PacketPtr Packet; }; +} + #endif -- cgit v1.2.3