coherent_xbar.hh (12341:6eebba99d117) coherent_xbar.hh (12346:9b1144d046ca)
1/*
2 * Copyright (c) 2011-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

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

393 void forwardFunctional(PacketPtr pkt, PortID exclude_slave_port_id);
394
395 /**
396 * Determine if the crossbar should sink the packet, as opposed to
397 * forwarding it, or responding.
398 */
399 bool sinkPacket(const PacketPtr pkt) const;
400
1/*
2 * Copyright (c) 2011-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

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

393 void forwardFunctional(PacketPtr pkt, PortID exclude_slave_port_id);
394
395 /**
396 * Determine if the crossbar should sink the packet, as opposed to
397 * forwarding it, or responding.
398 */
399 bool sinkPacket(const PacketPtr pkt) const;
400
401 /**
402 * Determine if the crossbar should forward the packet, as opposed to
403 * responding to it.
404 */
405 bool forwardPacket(const PacketPtr pkt);
406
407 /**
408 * Determine if the packet's destination is the memory below
409 *
410 * The memory below is the destination for a cache mainteance
411 * operation to the Point of Coherence/Unification if this is the
412 * Point of Coherence/Unification.
413 *
414 * @param pkt The processed packet
415 *
416 * @return Whether the memory below is the destination for the packet
417 */
418 bool isDestination(const PacketPtr pkt) const
419 {
420 return (pkt->req->isToPOC() && pointOfCoherency) ||
421 (pkt->req->isToPOU() && pointOfUnification);
422 }
423
401 Stats::Scalar snoops;
402 Stats::Scalar snoopTraffic;
403 Stats::Distribution snoopFanout;
404
405 public:
406
407 virtual void init();
408
409 CoherentXBar(const CoherentXBarParams *p);
410
411 virtual ~CoherentXBar();
412
413 virtual void regStats();
414};
415
416#endif //__MEM_COHERENT_XBAR_HH__
424 Stats::Scalar snoops;
425 Stats::Scalar snoopTraffic;
426 Stats::Distribution snoopFanout;
427
428 public:
429
430 virtual void init();
431
432 CoherentXBar(const CoherentXBarParams *p);
433
434 virtual ~CoherentXBar();
435
436 virtual void regStats();
437};
438
439#endif //__MEM_COHERENT_XBAR_HH__