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 <jason@lowepower.com>
diff --git a/util/tlm/sc_ext.cc b/util/tlm/sc_ext.cc
index ce7417e..db0c36f 100644
--- a/util/tlm/sc_ext.cc
+++ b/util/tlm/sc_ext.cc
@@ -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,42 +32,48 @@
*
* Authors:
* Matthias Jung
+ * Christian Menard
*/
#include "sc_ext.hh"
using namespace tlm;
-gem5Extension::gem5Extension(PacketPtr packet)
+namespace Gem5SystemC
+{
+
+Gem5Extension::Gem5Extension(PacketPtr packet)
{
Packet = packet;
}
-gem5Extension& gem5Extension::getExtension(const tlm_generic_payload *payload)
+Gem5Extension& Gem5Extension::getExtension(const tlm_generic_payload *payload)
{
- gem5Extension *result = NULL;
+ Gem5Extension *result = NULL;
payload->get_extension(result);
sc_assert(result!=NULL);
return *result;
}
-gem5Extension& gem5Extension::getExtension(const tlm_generic_payload &payload)
+Gem5Extension& Gem5Extension::getExtension(const tlm_generic_payload &payload)
{
- return gem5Extension::getExtension(&payload);
+ return Gem5Extension::getExtension(&payload);
}
-PacketPtr gem5Extension::getPacket()
+PacketPtr Gem5Extension::getPacket()
{
return Packet;
}
-tlm_extension_base* gem5Extension::clone() const
+tlm_extension_base* Gem5Extension::clone() const
{
- return new gem5Extension(Packet);
+ return new Gem5Extension(Packet);
}
-void gem5Extension::copy_from(const tlm_extension_base& ext)
+void Gem5Extension::copy_from(const tlm_extension_base& ext)
{
- const gem5Extension& cpyFrom = static_cast<const gem5Extension&>(ext);
+ const Gem5Extension& cpyFrom = static_cast<const Gem5Extension&>(ext);
Packet = cpyFrom.Packet;
}
+
+}