X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmem%2Fport.cc;h=fb1715db699dc9a282256908b6389bc6a7954333;hb=ea8b347dc5d375572d8d19770024ec8be5fd5017;hp=ba4f2366816d1ea14adf358aa3309f022429c328;hpb=855b3216f21453807c1b6fedab0e49aa36128a80;p=gem5.git diff --git a/src/mem/port.cc b/src/mem/port.cc index ba4f23668..fb1715db6 100644 --- a/src/mem/port.cc +++ b/src/mem/port.cc @@ -36,22 +36,31 @@ #include "base/chunk_generator.hh" #include "base/trace.hh" +#include "debug/Config.hh" #include "mem/mem_object.hh" #include "mem/port.hh" +Port::Port(const std::string &_name, MemObject *_owner) + : portName(_name), peer(NULL), owner(_owner) +{ +} + +Port::~Port() +{ +} + void Port::setPeer(Port *port) { DPRINTF(Config, "setting peer to %s\n", port->name()); + peer = port; } void -Port::removeConn() +Port::setOwner(MemObject *_owner) { - if (peer->getOwner()) - peer->getOwner()->deletePortRefs(peer); - peer = NULL; + owner = _owner; } void @@ -92,3 +101,15 @@ Port::memsetBlob(Addr addr, uint8_t val, int size) delete [] buf; } + + +void +Port::printAddr(Addr a) +{ + Request req(a, 1, 0); + Packet pkt(&req, MemCmd::PrintReq, Packet::Broadcast); + Packet::PrintReqState prs(std::cerr); + pkt.senderState = &prs; + + sendFunctional(&pkt); +}