summaryrefslogtreecommitdiff
path: root/ext/systemc/src/tlm_core/tlm_2/README.txt
diff options
context:
space:
mode:
authorMatthias Jung <jungma@eit.uni-kl.de>2017-03-01 18:39:56 +0100
committerMatthias Jung <jungma@eit.uni-kl.de>2017-05-18 08:36:56 +0000
commitaa651c7f8321bf96fc88f9a17285225000a753ec (patch)
treeb13240008c970b47bd74a5007e68136155d272fc /ext/systemc/src/tlm_core/tlm_2/README.txt
parent595e692de09e1b7cbc5f57ac01da299afc066fdd (diff)
downloadgem5-aa651c7f8321bf96fc88f9a17285225000a753ec.tar.xz
ext: Include SystemC 2.3.1 into gem5
In the past it happened several times that some changes in gem5 broke the SystemC coupling. Recently Accelera has changed the licence for SystemC from their own licence to Apache2.0, which is compatible with gem5. However, SystemC usually relies on the Boost library, but I was able to exchange the boost calls by c++11 alternatives. The recent SystemC version is placed into /ext and is integrated into gem5's build system. The goal is to integrate some SystemC tests for the CI in some following patches. Change-Id: I4b66ec806b5e3cffc1d7c85d3735ff4fa5b31fd0 Reviewed-on: https://gem5-review.googlesource.com/2240 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Diffstat (limited to 'ext/systemc/src/tlm_core/tlm_2/README.txt')
-rw-r--r--ext/systemc/src/tlm_core/tlm_2/README.txt111
1 files changed, 111 insertions, 0 deletions
diff --git a/ext/systemc/src/tlm_core/tlm_2/README.txt b/ext/systemc/src/tlm_core/tlm_2/README.txt
new file mode 100644
index 000000000..cb02af2d8
--- /dev/null
+++ b/ext/systemc/src/tlm_core/tlm_2/README.txt
@@ -0,0 +1,111 @@
+TLM-2.0 interoperability layer header files
+===========================================
+
+Dir: include/tlm_core/tlm_2/
+
+SubDirs: tlm_2_interfaces/
+ tlm_generic_payload/
+ tlm_quantum/
+ tlm_sockets
+
+Files: README.txt
+ tlm_version.h
+
+
+Comments
+========
+
+User code should only #include the tlm or tlm.h header file in the include/
+directory and avoid including any of the include files in this directory
+directly. All objects defined in this file hierarchy are in the tlm namespace.
+
+tlm_version.h contains the definitions for the version string and integer values
+
+The header files are organizated, by subdirectory, as follows:
+
+
+tlm_2_interfaces/
+-----------------
+
+Contains the TLM-2.0 core interfaces
+
+Files:
+ tlm_2_interfaces.h (includes the other header files in this directory )
+ tlm_fw_bw_ifs.h (defines the TLM 2.0 interface API's:
+ tlm_fw_nonblocking_transport_if
+ tlm_bw_nonblocking_transport_if
+ tlm_blocking_transport_if
+ tlm_fw_direct_mem_if
+ tlm_bw_direct_mem_if
+ tlm_transport_dbg_if
+ the enumeration type
+ tlm_sync_enum
+ and the TLM 2.0 standard interfaces using the API's
+ tlm_fw_transport_if
+ tlm_bw_transport_if )
+ tlm_dmi.h (defines tlm_dmi)
+
+
+tlm_generic_payload/
+--------------------
+
+Contains the TLM-2.0 generic payload and associated classes and helper functions
+
+Files:
+ tlm_generic_payload.h ( includes the other header files in this directory)
+ tlm_gp.h (defines the TLM 2.0 generic payload classes:
+ tlm_generic_payload
+ tlm_extension
+ tlm_extension_base
+ tlm_mm_interface
+ and the enumeration types
+ tlm_command
+ tlm_response_status )
+ tlm_array.h (defines array class used by the extention
+ mechanism )
+ tlm_endian_conv.h (defines the implementation for the endianness
+ helper functions:
+ tlm_to_hostendian_generic()
+ tlm_from_hostendian_generic()
+ tlm_to_hostendian_word()
+ tlm_from_hostendian_word()
+ tlm_to_hostendian_aligned()
+ tlm_from_hostendian_aligned()
+ tlm_to_hostendian_single()
+ tlm_from_hostendian_single() )
+
+ tlm_helpers.h (defines the helper functions to determine the
+ hostendianness:
+ get_host_endianness()
+ host_has_little_endianness()
+ has_host_endianness()
+ and defines the enumeration type:
+ tlm_endianness
+ tlm_phase.h (defines tlm_phase as an extendable enum type)
+
+
+tlm_sockets/
+------------
+
+Contains the standard TLM-2.0 initiator and target sockets (which are used as
+the base classes for the convenience sockets in tlm_utils)
+
+Files:
+ tlm_sockets.h (includes the other header files in this directory)
+ tlm_initiator_socket.h (defines the initiator sockets:
+ tlm_initiator_socket_base
+ tlm_initiator_socket_b
+ tlm_initiator_socket
+ tlm_target_socket.h (defines the target sockets:
+ tlm_target_socket_base
+ tlm_target_socket_b
+ tlm_target_socket
+
+
+tlm_quantum/
+------------
+This contains the global quantum. (The quantum keeper is in tlm_utils)
+
+Files:
+ tlm_quantum.h ( includes the other header file in this directory )
+ tlm_global_quantum.h ( defines tlm_global_quantum )