port.hh (10713:eddb533708cb) port.hh (12342:53a3828f2468)
1/*
1/*
2 * Copyright (c) 2011-2012,2015 ARM Limited
2 * Copyright (c) 2011-2012,2015,2017 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
9 * licensed hereunder. You may use the software subject to the license
10 * terms below provided that you ensure that this notice is replicated

--- 208 unchanged lines hidden (view full) ---

219 *
220 * @param pkt Packet to send.
221 *
222 * @return If the send was succesful or not.
223 */
224 bool sendTimingReq(PacketPtr pkt);
225
226 /**
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
9 * licensed hereunder. You may use the software subject to the license
10 * terms below provided that you ensure that this notice is replicated

--- 208 unchanged lines hidden (view full) ---

219 *
220 * @param pkt Packet to send.
221 *
222 * @return If the send was succesful or not.
223 */
224 bool sendTimingReq(PacketPtr pkt);
225
226 /**
227 * Check if the slave can handle a timing request.
228 *
229 * If the send cannot be handled at the moment, as indicated by
230 * the return value, then the sender will receive a recvReqRetry
231 * at which point it can re-issue a sendTimingReq.
232 *
233 * @param pkt Packet to send.
234 *
235 * @return If the send was succesful or not.
236 */
237 bool tryTiming(PacketPtr pkt) const;
238
239 /**
227 * Attempt to send a timing snoop response packet to the slave
228 * port by calling its corresponding receive function. If the send
229 * does not succeed, as indicated by the return value, then the
230 * sender must wait for a recvRetrySnoop at which point it can
231 * re-issue a sendTimingSnoopResp.
232 *
233 * @param pkt Packet to send.
234 */

--- 212 unchanged lines hidden (view full) ---

447 virtual void recvFunctional(PacketPtr pkt) = 0;
448
449 /**
450 * Receive a timing request from the master port.
451 */
452 virtual bool recvTimingReq(PacketPtr pkt) = 0;
453
454 /**
240 * Attempt to send a timing snoop response packet to the slave
241 * port by calling its corresponding receive function. If the send
242 * does not succeed, as indicated by the return value, then the
243 * sender must wait for a recvRetrySnoop at which point it can
244 * re-issue a sendTimingSnoopResp.
245 *
246 * @param pkt Packet to send.
247 */

--- 212 unchanged lines hidden (view full) ---

460 virtual void recvFunctional(PacketPtr pkt) = 0;
461
462 /**
463 * Receive a timing request from the master port.
464 */
465 virtual bool recvTimingReq(PacketPtr pkt) = 0;
466
467 /**
468 * Availability request from the master port.
469 */
470 virtual bool tryTiming(PacketPtr pkt) {
471 panic("%s was not expecting a %s\n", name(), __func__);
472 }
473
474 /**
455 * Receive a timing snoop response from the master port.
456 */
457 virtual bool recvTimingSnoopResp(PacketPtr pkt)
458 {
459 panic("%s was not expecting a timing snoop response\n", name());
460 }
461
462 /**
463 * Called by the master port if sendTimingResp was called on this
464 * slave port (causing recvTimingResp to be called on the master
465 * port) and was unsuccesful.
466 */
467 virtual void recvRespRetry() = 0;
468
469};
470
471#endif //__MEM_PORT_HH__
475 * Receive a timing snoop response from the master port.
476 */
477 virtual bool recvTimingSnoopResp(PacketPtr pkt)
478 {
479 panic("%s was not expecting a timing snoop response\n", name());
480 }
481
482 /**
483 * Called by the master port if sendTimingResp was called on this
484 * slave port (causing recvTimingResp to be called on the master
485 * port) and was unsuccesful.
486 */
487 virtual void recvRespRetry() = 0;
488
489};
490
491#endif //__MEM_PORT_HH__