120#ifndef SIMICS_SYSTEMC_AWARENESS_TLM2_BASE_PROTOCOL_CHECKER_H
121#define SIMICS_SYSTEMC_AWARENESS_TLM2_BASE_PROTOCOL_CHECKER_H
140 typedef std::deque<sc_core::sc_object*>
deque_t;
144 : m_request_in_progress(0), m_response_in_progress(0),
145 checker_instance_(proxy) {
155 tlm::tlm_generic_payload& trans, tlm::tlm_phase& phase, sc_core::sc_time& delay);
158 tlm::tlm_generic_payload& trans, tlm::tlm_phase& start_phase, tlm::tlm_phase& phase,
159 sc_core::sc_time& delay, tlm::tlm_sync_enum status);
162 tlm::tlm_generic_payload& trans, tlm::tlm_phase& phase, sc_core::sc_time& delay);
165 tlm::tlm_generic_payload& trans, tlm::tlm_phase& phase, sc_core::sc_time& delay,
166 tlm::tlm_sync_enum status);
169 tlm::tlm_generic_payload& trans, tlm::tlm_phase& phase, sc_core::sc_time& delay,
170 const char* txt2,
const char* txt3,
const char* txt4);
185 void tlm2error( tlm::tlm_generic_payload& trans,
const char* ref,
bool warning =
false );
189 virtual void reportError(std::ostringstream *stream,
bool =
false);
192 state_t() { has_mm =
false; b_call = 0; ph = tlm::UNINITIALIZED_PHASE;
193 gp = 0; data_ptr = 0; byte_enable_ptr = 0; }
198 sc_core::sc_time time;
199 tlm::tlm_generic_payload* gp;
205 std::map<tlm::tlm_generic_payload*, state_t> m_map;
208 tlm::tlm_generic_payload* m_request_in_progress;
209 tlm::tlm_generic_payload* m_response_in_progress;
211 std::ostringstream txt;
214 path_t () { response_in_progress =
false; ok_response =
false; resp_data_ptr = 0; }
216 bool response_in_progress;
224 static std::map<tlm::tlm_generic_payload*, path_t> shared_map;
Definition: proxy_interface.h:29
Definition: tlm2_base_protocol_checker.h:136
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:140
virtual ~tlm2_base_protocol_checker()
Definition: tlm2_base_protocol_checker.h:148
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:142
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:139
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:132