17 #include "tlm2_lwtr.h"
18 #include <tlm/scc/lwtr/lwtr4tlm2_extension_registry.h>
19 #include <tlm/scc/tlm_id.h>
29 const std::array<std::string, 3> cmd2char{{
"READ",
"WRITE",
"IGNORE"}};
30 const std::array<std::string, 7> resp2char{
31 {
"OK",
"INCOMPLETE",
"GENERIC_ERROR",
"ADDRESS_ERROR",
"COMMAND_ERROR",
"BURST_ERROR",
"BYTE_ENABLE_ERROR"}};
32 const std::array<std::string, 3> gp_option2char{{
"MIN_PAYLOAD",
"FULL_PAYLOAD",
"FULL_PAYLOAD_ACCEPTED"}};
33 const std::array<std::string, 5> phase2char{{
"UNINITIALIZED_PHASE",
"BEGIN_REQ",
"END_REQ",
"BEGIN_RESP",
"END_RESP"}};
34 const std::array<std::string, 4> dmi2char{{
"DMI_ACCESS_NONE",
"DMI_ACCESS_READ",
"DMI_ACCESS_WRITE",
"DMI_ACCESS_READ_WRITE"}};
35 const std::array<std::string, 3> sync2char{{
"ACCEPTED",
"UPDATED",
"COMPLETED"}};
40 void recordBeginTx(::lwtr::tx_handle& handle, tlm::tlm_base_protocol_types::tlm_payload_type& trans)
override {
42 handle.record_attribute(
"trans", *ext);
44 void recordEndTx(::lwtr::tx_handle& handle, tlm::tlm_base_protocol_types::tlm_payload_type& trans)
override {}
49 __attribute__((constructor))
51 bool register_extensions() {
56 bool registered = register_extensions();
The TLM transaction extensions recorder interface.
The TLM transaction extensions recorder registry.