X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fdev%2Fetherlink.cc;h=5ebc4fba52ee8c35081054e24c16909794cbdde5;hb=eae1e97fb002b44a9d8c46df2da1ddc1d0156ce4;hp=f3f38fc20fb04f08eba5fc097c566f822dfcd329;hpb=d080581db1f9ee4e1e6d07d2b01c13c67908a391;p=gem5.git diff --git a/src/dev/etherlink.cc b/src/dev/etherlink.cc index f3f38fc20..5ebc4fba5 100644 --- a/src/dev/etherlink.cc +++ b/src/dev/etherlink.cc @@ -40,14 +40,16 @@ #include "base/random.hh" #include "base/trace.hh" +#include "debug/Ethernet.hh" +#include "debug/EthernetData.hh" #include "dev/etherdump.hh" #include "dev/etherint.hh" #include "dev/etherlink.hh" #include "dev/etherpkt.hh" #include "params/EtherLink.hh" +#include "sim/core.hh" #include "sim/serialize.hh" #include "sim/system.hh" -#include "sim/core.hh" using namespace std; @@ -154,7 +156,7 @@ EtherLink::Link::txDone() if (linkDelay > 0) { DPRINTF(Ethernet, "packet delayed: delay=%d\n", linkDelay); Event *event = new LinkDelayEvent(this, packet); - parent->schedule(event, curTick + linkDelay); + parent->schedule(event, curTick() + linkDelay); } else { txComplete(packet); } @@ -183,7 +185,7 @@ EtherLink::Link::transmit(EthPacketPtr pkt) DPRINTF(Ethernet, "scheduling packet: delay=%d, (rate=%f)\n", delay, ticksPerByte); - parent->schedule(doneEvent, curTick + delay); + parent->schedule(doneEvent, curTick() + delay); return true; } @@ -226,17 +228,13 @@ EtherLink::Link::unserialize(const string &base, Checkpoint *cp, } LinkDelayEvent::LinkDelayEvent() - : link(NULL) + : Event(Default_Pri, AutoSerialize | AutoDelete), link(NULL) { - setFlags(AutoSerialize); - setFlags(AutoDelete); } LinkDelayEvent::LinkDelayEvent(EtherLink::Link *l, EthPacketPtr p) - : link(l), packet(p) + : Event(Default_Pri, AutoSerialize | AutoDelete), link(l), packet(p) { - setFlags(AutoSerialize); - setFlags(AutoDelete); } void