diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2007-11-29 00:23:14 -0500 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2007-11-29 00:23:14 -0500 |
commit | a84d9716d63e16e01bdcef34b115c6dcd20e4146 (patch) | |
tree | be81458d0230a4767a1ebc3d6f30d953768b582e /src/mem/port.cc | |
parent | 376c7285eedf5b235a414accf9f5253a4d55633e (diff) | |
parent | 8a020d40d3e7c9ecd3a41cfa5ab720080f5a9bbf (diff) | |
download | gem5-a84d9716d63e16e01bdcef34b115c6dcd20e4146.tar.xz |
merge, no manual changes
--HG--
extra : convert_revision : 6d6b744bbdfb09e7c3092368870a4f372241f9e8
Diffstat (limited to 'src/mem/port.cc')
-rw-r--r-- | src/mem/port.cc | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/mem/port.cc b/src/mem/port.cc index ba4f23668..2e56d2486 100644 --- a/src/mem/port.cc +++ b/src/mem/port.cc @@ -39,6 +39,64 @@ #include "mem/mem_object.hh" #include "mem/port.hh" +class defaultPeerPortClass: public Port +{ + protected: + void blowUp() + { + fatal("Unconnected port!"); + } + + public: + defaultPeerPortClass() : Port("default_port") + {} + + bool recvTiming(PacketPtr) + { + blowUp(); + return false; + } + + Tick recvAtomic(PacketPtr) + { + blowUp(); + return 0; + } + + void recvFunctional(PacketPtr) + { + blowUp(); + } + + void recvStatusChange(Status) + { + blowUp(); + } + + int deviceBlockSize() + { + blowUp(); + return 0; + } + + void getDeviceAddressRanges(AddrRangeList &, bool &) + { + blowUp(); + } + + bool isDefaultPort() { return true; } + +} defaultPeerPort; + +Port::Port() : peer(&defaultPeerPort), owner(NULL) +{ +} + +Port::Port(const std::string &_name, MemObject *_owner) : + portName(_name), peer(&defaultPeerPort), owner(_owner) +{ +} + void Port::setPeer(Port *port) { |