- protected:
- class IntSlavePort : public MessageSlavePort
- {
- IntDevice * device;
-
- public:
- IntSlavePort(const std::string& _name, MemObject* _parent,
- IntDevice* dev) :
- MessageSlavePort(_name, _parent), device(dev)
- {
- }
-
- AddrRangeList getAddrRanges() const
- {
- return device->getIntAddrRange();
- }
-
- Tick recvMessage(PacketPtr pkt)
- {
- // @todo someone should pay for this
- pkt->headerDelay = pkt->payloadDelay = 0;
- return device->recvMessage(pkt);
- }
- };
-
- class IntMasterPort : public MessageMasterPort
- {
- IntDevice* device;
- Tick latency;
- public:
- IntMasterPort(const std::string& _name, MemObject* _parent,
- IntDevice* dev, Tick _latency) :
- MessageMasterPort(_name, _parent), device(dev), latency(_latency)
- {
- }
-
- Tick recvResponse(PacketPtr pkt)
- {
- return device->recvResponse(pkt);
- }