118#ifndef SIMICS_SYSTEMC_AWARENESS_TLM2_BASE_PROTOCOL_CHECKER_H
119#define SIMICS_SYSTEMC_AWARENESS_TLM2_BASE_PROTOCOL_CHECKER_H
138 typedef std::deque<sc_core::sc_object*>
deque_t;
142 : m_request_in_progress(0), m_response_in_progress(0),
143 checker_instance_(proxy) {
153 tlm::tlm_generic_payload& trans, tlm::tlm_phase& phase, sc_core::sc_time& delay);
156 tlm::tlm_generic_payload& trans, tlm::tlm_phase& start_phase, tlm::tlm_phase& phase,
157 sc_core::sc_time& delay, tlm::tlm_sync_enum status);
160 tlm::tlm_generic_payload& trans, tlm::tlm_phase& phase, sc_core::sc_time& delay);
163 tlm::tlm_generic_payload& trans, tlm::tlm_phase& phase, sc_core::sc_time& delay,
164 tlm::tlm_sync_enum status);
167 tlm::tlm_generic_payload& trans, tlm::tlm_phase& phase, sc_core::sc_time& delay,
168 const char* txt2,
const char* txt3,
const char* txt4);
183 void tlm2error( tlm::tlm_generic_payload& trans,
const char* ref,
bool warning =
false );
187 virtual void reportError(std::ostringstream *stream,
bool =
false);
190 state_t() { has_mm =
false; b_call = 0; ph = tlm::UNINITIALIZED_PHASE;
191 gp = 0; data_ptr = 0; byte_enable_ptr = 0; }
196 sc_core::sc_time time;
197 tlm::tlm_generic_payload* gp;
203 std::map<tlm::tlm_generic_payload*, state_t> m_map;
206 tlm::tlm_generic_payload* m_request_in_progress;
207 tlm::tlm_generic_payload* m_response_in_progress;
209 std::ostringstream txt;
212 path_t () { response_in_progress =
false; ok_response =
false; resp_data_ptr = 0; }
214 bool response_in_progress;
222 static std::map<tlm::tlm_generic_payload*, path_t> shared_map;
Definition: proxy_interface.h:27
Definition: tlm2_base_protocol_checker.h:134
void transport_dbg_pre_checks(tlm::tlm_generic_payload &trans)
void tlm2error(tlm::tlm_generic_payload &trans, const char *ref, bool warning=false)
std::deque< sc_core::sc_object * > deque_t
Definition: tlm2_base_protocol_checker.h:138
virtual ~tlm2_base_protocol_checker()
Definition: tlm2_base_protocol_checker.h:146
void nb_transport_fw_pre_checks(tlm::tlm_generic_payload &trans, tlm::tlm_phase &phase, sc_core::sc_time &delay)
tlm2_base_protocol_checker(simics::systemc::awareness::ProxyInterface *proxy)
Definition: tlm2_base_protocol_checker.h:140
void b_transport_pre_checks(tlm::tlm_generic_payload &trans, sc_core::sc_time &delay)
void nb_transport_response_checks(tlm::tlm_generic_payload &trans, tlm::tlm_phase &phase, sc_core::sc_time &delay, const char *txt2, const char *txt3, const char *txt4)
void nb_transport_fw_post_checks(tlm::tlm_generic_payload &trans, tlm::tlm_phase &start_phase, tlm::tlm_phase &phase, sc_core::sc_time &delay, tlm::tlm_sync_enum status)
void check_initial_state(tlm::tlm_generic_payload &trans, const char *txt2)
void check_response_path(tlm::tlm_generic_payload &trans, const char *txt2)
void get_direct_mem_ptr_post_checks(tlm::tlm_generic_payload &trans, tlm::tlm_dmi &dmi_data)
void remember_gp_option(tlm::tlm_generic_payload &trans)
void b_transport_post_checks(tlm::tlm_generic_payload &trans, sc_core::sc_time &delay)
void transport_dbg_post_checks(tlm::tlm_generic_payload &trans, unsigned int count)
void nb_transport_bw_post_checks(tlm::tlm_generic_payload &trans, tlm::tlm_phase &phase, sc_core::sc_time &delay, tlm::tlm_sync_enum status)
unsigned char uchar_t
Definition: tlm2_base_protocol_checker.h:137
void get_direct_mem_ptr_pre_checks(tlm::tlm_generic_payload &trans, tlm::tlm_dmi &dmi_data)
void check_trans_not_modified(tlm::tlm_generic_payload &trans, const char *txt2)
void nb_transport_bw_pre_checks(tlm::tlm_generic_payload &trans, tlm::tlm_phase &phase, sc_core::sc_time &delay)
Definition: tlm2_base_protocol_checker.h:130