tport.cc (8914:8c3bd7bea667) | tport.cc (8922:17f037ad8918) |
---|---|
1/* 2 * Copyright (c) 2012 ARM Limited 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 32 unchanged lines hidden (view full) --- 41 * Andreas Hansson 42 */ 43 44#include "mem/mem_object.hh" 45#include "mem/tport.hh" 46 47SimpleTimingPort::SimpleTimingPort(const std::string& _name, 48 MemObject* _owner) : | 1/* 2 * Copyright (c) 2012 ARM Limited 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 32 unchanged lines hidden (view full) --- 41 * Andreas Hansson 42 */ 43 44#include "mem/mem_object.hh" 45#include "mem/tport.hh" 46 47SimpleTimingPort::SimpleTimingPort(const std::string& _name, 48 MemObject* _owner) : |
49 QueuedPort(_name, _owner, queue), queue(*_owner, *this) | 49 QueuedSlavePort(_name, _owner, queue), queue(*_owner, *this) |
50{ 51} 52 53void 54SimpleTimingPort::recvFunctional(PacketPtr pkt) 55{ 56 assert(pkt->isRequest()); 57 if (!queue.checkFunctional(pkt)) { 58 // do an atomic access and throw away the returned latency 59 recvAtomic(pkt); 60 } 61} 62 63bool 64SimpleTimingPort::recvTiming(PacketPtr pkt) 65{ | 50{ 51} 52 53void 54SimpleTimingPort::recvFunctional(PacketPtr pkt) 55{ 56 assert(pkt->isRequest()); 57 if (!queue.checkFunctional(pkt)) { 58 // do an atomic access and throw away the returned latency 59 recvAtomic(pkt); 60 } 61} 62 63bool 64SimpleTimingPort::recvTiming(PacketPtr pkt) 65{ |
66 // the port is a slave and should hence only get timing requests 67 assert(pkt->isRequest()); 68 |
|
66 if (pkt->memInhibitAsserted()) { 67 // snooper will supply based on copy of packet 68 // still target's responsibility to delete packet 69 delete pkt; 70 return true; 71 } 72 73 bool needsResponse = pkt->needsResponse(); --- 13 unchanged lines hidden --- | 69 if (pkt->memInhibitAsserted()) { 70 // snooper will supply based on copy of packet 71 // still target's responsibility to delete packet 72 delete pkt; 73 return true; 74 } 75 76 bool needsResponse = pkt->needsResponse(); --- 13 unchanged lines hidden --- |