util/tlm/src/sc_slave_port.cc
/**
 * Similar to TLM's debug transport
 */
Similar to TLM's debug transport
Similar to TLM ' s debug transport
void
SCSlavePort::recvFunctional(gem5::PacketPtr packet)
{
    tlm::tlm_generic_payload * trans = mm.allocate();
    trans->acquire();
    packet2payload(packet, *trans);
    Gem5Extension* extension = new Gem5Extension(packet);
    trans->set_auto_extension(extension);
    unsigned int bytes = transactor->socket->transport_dbg(*trans);
    if (bytes != trans->get_data_length()) {
        SC_REPORT_FATAL("SCSlavePort","debug transport was not completed");
    }
    trans->release();
}
void SCSlavePort :: recvFunctional ( gem5 :: PacketPtr packet ) { tlm :: tlm_generic_payload * trans = mm . allocate ( ) ; trans -> acquire ( ) ; packet2payload ( packet , * trans ) ; Gem5Extension * extension = new Gem5Extension ( packet ) ; trans -> set_auto_extension ( extension ) ; unsigned int bytes = transactor -> socket -> transport_dbg ( * trans ) ; if ( bytes != trans -> get_data_length ( ) ) { SC_REPORT_FATAL ( " " , " " ) ; } trans -> release ( ) ; }
Similar to TLM's debug transport
Similar to TLM ' s debug transport
/* Prepare the transaction */ /* Attach the packet pointer to the TLM transaction to keep track */ /* Execute Debug Transport: */