gem5 v24.0.0.0
|
#include <etherlink.hh>
Public Member Functions | |
Link (const std::string &name, EtherLink *p, int num, double rate, Tick delay, Tick delay_var, EtherDump *dump) | |
~Link () | |
const std::string | name () const |
bool | busy () const |
bool | transmit (EthPacketPtr packet) |
void | setTxInt (Interface *i) |
void | setRxInt (Interface *i) |
void | serialize (const std::string &base, CheckpointOut &cp) const |
void | unserialize (const std::string &base, CheckpointIn &cp) |
Protected Member Functions | |
void | txDone () |
void | processTxQueue () |
void | txComplete (EthPacketPtr packet) |
Protected Attributes | |
const std::string | objName |
EtherLink *const | parent |
const int | number |
Interface * | txint |
Interface * | rxint |
const double | ticksPerByte |
const Tick | linkDelay |
const Tick | delayVar |
EtherDump *const | dump |
EthPacketPtr | packet |
EventFunctionWrapper | doneEvent |
std::deque< std::pair< Tick, EthPacketPtr > > | txQueue |
Maintain a queue of in-flight packets. | |
EventFunctionWrapper | txQueueEvent |
Definition at line 74 of file etherlink.hh.
gem5::EtherLink::Link::Link | ( | const std::string & | name, |
EtherLink * | p, | ||
int | num, | ||
double | rate, | ||
Tick | delay, | ||
Tick | delay_var, | ||
EtherDump * | dump ) |
Definition at line 109 of file etherlink.cc.
References txDone().
|
inline |
Definition at line 113 of file etherlink.hh.
|
inline |
Definition at line 117 of file etherlink.hh.
References packet.
Referenced by gem5::EtherLink::Interface::isBusy().
|
inline |
Definition at line 115 of file etherlink.hh.
References objName.
|
protected |
Definition at line 162 of file etherlink.cc.
References gem5::curTick().
void gem5::EtherLink::Link::serialize | ( | const std::string & | base, |
CheckpointOut & | cp ) const |
Definition at line 202 of file etherlink.cc.
References gem5::X86ISA::base, gem5::csprintf(), gem5::paramOut(), and gem5::X86ISA::pe.
Referenced by gem5::EtherLink::serialize().
|
inline |
Definition at line 121 of file etherlink.hh.
References gem5::ArmISA::i, and rxint.
Referenced by gem5::EtherLink::Interface::Interface().
|
inline |
Definition at line 120 of file etherlink.hh.
References gem5::ArmISA::i, and txint.
Referenced by gem5::EtherLink::Interface::Interface().
bool gem5::EtherLink::Link::transmit | ( | EthPacketPtr | packet | ) |
Definition at line 179 of file etherlink.cc.
References gem5::curTick(), DDUMP, DPRINTF, gem5::Random::random(), and gem5::random_mt.
Referenced by gem5::EtherLink::Interface::recvPacket().
|
protected |
Definition at line 132 of file etherlink.cc.
|
protected |
Definition at line 140 of file etherlink.cc.
References gem5::curTick(), DPRINTF, and gem5::statistics::dump().
Referenced by Link().
void gem5::EtherLink::Link::unserialize | ( | const std::string & | base, |
CheckpointIn & | cp ) |
Definition at line 228 of file etherlink.cc.
References gem5::X86ISA::base, gem5::csprintf(), fatal_if, gem5::optParamIn(), gem5::paramIn(), and warn.
Referenced by gem5::EtherLink::unserialize().
|
protected |
Definition at line 87 of file etherlink.hh.
|
protected |
Definition at line 96 of file etherlink.hh.
|
protected |
Definition at line 88 of file etherlink.hh.
|
protected |
Definition at line 86 of file etherlink.hh.
|
protected |
Definition at line 80 of file etherlink.hh.
|
protected |
Definition at line 77 of file etherlink.hh.
Referenced by name().
|
protected |
Definition at line 94 of file etherlink.hh.
Referenced by busy().
|
protected |
Definition at line 79 of file etherlink.hh.
|
protected |
Definition at line 83 of file etherlink.hh.
Referenced by setRxInt().
|
protected |
Definition at line 85 of file etherlink.hh.
|
protected |
Definition at line 82 of file etherlink.hh.
Referenced by setTxInt().
|
protected |
Maintain a queue of in-flight packets.
Assume that the delay is non-zero and constant (i.e., at most one packet per tick).
Definition at line 103 of file etherlink.hh.
|
protected |
Definition at line 106 of file etherlink.hh.