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 --- 70 unchanged lines hidden (view full) --- 79 */ 80 QueuedSlavePort(const std::string& name, MemObject* owner, 81 SlavePacketQueue &queue) : 82 SlavePort(name, owner), queue(queue) 83 { } 84 85 virtual ~QueuedSlavePort() { } 86 |
87 /** 88 * Schedule the sending of a timing response. 89 * 90 * @param pkt Packet to send 91 * @param when Absolute time (in ticks) to send packet 92 */ 93 void schedTimingResp(PacketPtr pkt, Tick when) 94 { queue.schedSendTiming(pkt, when); } 95 |
96 /** Check the list of buffered packets against the supplied 97 * functional request. */ 98 bool checkFunctional(PacketPtr pkt) { return queue.checkFunctional(pkt); } 99 100 /** 101 * Hook for draining the queued port. 102 * 103 * @param de an event which is used to signal back to the caller --- 25 unchanged lines hidden (view full) --- 129 */ 130 QueuedMasterPort(const std::string& name, MemObject* owner, 131 MasterPacketQueue &queue) : 132 MasterPort(name, owner), queue(queue) 133 { } 134 135 virtual ~QueuedMasterPort() { } 136 |
137 /** 138 * Schedule the sending of a timing request. 139 * 140 * @param pkt Packet to send 141 * @param when Absolute time (in ticks) to send packet 142 */ 143 void schedTimingReq(PacketPtr pkt, Tick when) 144 { queue.schedSendTiming(pkt, when); } 145 146 /** 147 * Schedule the sending of a timing snoop response. 148 * 149 * @param pkt Packet to send 150 * @param when Absolute time (in ticks) to send packet 151 */ 152 void schedTimingSnoopResp(PacketPtr pkt, Tick when) 153 { queue.schedSendTiming(pkt, when, true); } 154 |
155 /** Check the list of buffered packets against the supplied 156 * functional request. */ 157 bool checkFunctional(PacketPtr pkt) { return queue.checkFunctional(pkt); } 158 159 /** 160 * Hook for draining the queued port. 161 * 162 * @param de an event which is used to signal back to the caller 163 * @returns a number indicating how many times process will be called 164 */ 165 unsigned int drain(Event *de) { return queue.drain(de); } 166}; 167 168#endif // __MEM_QPORT_HH__ |