Lines Matching refs:trans

76   bool initTransaction(transaction_type& trans)
79 trans.set_address(mBaseAddress + 4*mTransactionCount);
81 trans.set_command(tlm::TLM_WRITE_COMMAND);
84 trans.set_address(mBaseAddress + 4*(mTransactionCount-mNrOfTransactions));
86 trans.set_command(tlm::TLM_READ_COMMAND);
92 trans.set_data_ptr(reinterpret_cast<unsigned char*>(&mData));
93 trans.set_data_length(4);
94 trans.set_streaming_width(4);
95 trans.set_dmi_allowed(false);
96 trans.set_response_status(tlm::TLM_INCOMPLETE_RESPONSE);
102 void logStartTransation(transaction_type& trans)
104 if (trans.get_command() == tlm::TLM_WRITE_COMMAND) {
106 << std::hex << (unsigned int)trans.get_address()
112 << std::hex << (unsigned int)trans.get_address() << std::dec
117 void logEndTransaction(transaction_type& trans)
119 if (trans.get_response_status() != tlm::TLM_OK_RESPONSE) {
125 if (trans.get_command() == tlm::TLM_READ_COMMAND) {
132 std::pair<dmi_type, bool>& getDMIData(const transaction_type& trans)
134 if (trans.get_command() == tlm::TLM_READ_COMMAND) {
144 transaction_type trans;
147 while (initTransaction(trans)) {
151 logStartTransation(trans);
163 std::pair<dmi_type, bool>& dmi_data = getDMIData(trans);
166 if((trans.get_address() < dmi_data.first.get_start_address()) ||
167 (trans.get_address() > dmi_data.first.get_end_address()) )
169 sc_dt::uint64 address = trans.get_address(); //save original address
171 socket->get_direct_mem_ptr(trans,
173 trans.set_address(address);
177 (trans.get_address() >= dmi_data.first.get_start_address()) &&
178 (trans.get_address() <= dmi_data.first.get_end_address()) )
183 trans.set_response_status(tlm::TLM_OK_RESPONSE);
185 sc_dt::uint64 tmp = trans.get_address() - dmi_data.first.get_start_address();
186 if (trans.get_command() == tlm::TLM_WRITE_COMMAND)
198 if (trans.get_command() == tlm::TLM_WRITE_COMMAND) {
207 socket->b_transport(trans, t);
212 logEndTransaction(trans);