X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmem%2Fqport.hh;h=dd5caa084d07fb6343a09e566d8c6347aa665bda;hb=d2fd3b2ec2c265eb9ed3bdcc1db3e4c3feee3846;hp=1d0544dfa5e88cfe114e59f183eec1a8501878f7;hpb=3fea59e1629f5dac55a7d36752e822bee7fd7fa7;p=gem5.git diff --git a/src/mem/qport.hh b/src/mem/qport.hh index 1d0544dfa..dd5caa084 100644 --- a/src/mem/qport.hh +++ b/src/mem/qport.hh @@ -84,17 +84,20 @@ class QueuedSlavePort : public SlavePort virtual ~QueuedSlavePort() { } + /** + * Schedule the sending of a timing response. + * + * @param pkt Packet to send + * @param when Absolute time (in ticks) to send packet + */ + void schedTimingResp(PacketPtr pkt, Tick when) + { queue.schedSendTiming(pkt, when); } + /** Check the list of buffered packets against the supplied * functional request. */ bool checkFunctional(PacketPtr pkt) { return queue.checkFunctional(pkt); } - /** - * Hook for draining the queued port. - * - * @param de an event which is used to signal back to the caller - * @returns a number indicating how many times process will be called - */ - unsigned int drain(Event *de) { return queue.drain(de); } + unsigned int drain(DrainManager *dm) { return queue.drain(dm); } }; class QueuedMasterPort : public MasterPort @@ -125,17 +128,29 @@ class QueuedMasterPort : public MasterPort virtual ~QueuedMasterPort() { } - /** Check the list of buffered packets against the supplied - * functional request. */ - bool checkFunctional(PacketPtr pkt) { return queue.checkFunctional(pkt); } + /** + * Schedule the sending of a timing request. + * + * @param pkt Packet to send + * @param when Absolute time (in ticks) to send packet + */ + void schedTimingReq(PacketPtr pkt, Tick when) + { queue.schedSendTiming(pkt, when); } /** - * Hook for draining the queued port. + * Schedule the sending of a timing snoop response. * - * @param de an event which is used to signal back to the caller - * @returns a number indicating how many times process will be called + * @param pkt Packet to send + * @param when Absolute time (in ticks) to send packet */ - unsigned int drain(Event *de) { return queue.drain(de); } + void schedTimingSnoopResp(PacketPtr pkt, Tick when) + { queue.schedSendTiming(pkt, when, true); } + + /** Check the list of buffered packets against the supplied + * functional request. */ + bool checkFunctional(PacketPtr pkt) { return queue.checkFunctional(pkt); } + + unsigned int drain(DrainManager *dm) { return queue.drain(dm); } }; #endif // __MEM_QPORT_HH__