qport.hh (13564:9bbd53a77887) | qport.hh (13892:0182a0601f66) |
---|---|
1/* 2 * Copyright (c) 2012,2015 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 --- 33 unchanged lines hidden (view full) --- 42 43/** 44 * @file 45 * Declaration of the queued port. 46 */ 47 48#include "mem/packet_queue.hh" 49#include "mem/port.hh" | 1/* 2 * Copyright (c) 2012,2015 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 --- 33 unchanged lines hidden (view full) --- 42 43/** 44 * @file 45 * Declaration of the queued port. 46 */ 47 48#include "mem/packet_queue.hh" 49#include "mem/port.hh" |
50#include "sim/sim_object.hh" |
|
50 51/** 52 * A queued port is a port that has an infinite queue for outgoing 53 * packets and thus decouples the module that wants to send 54 * request/responses from the flow control (retry mechanism) of the 55 * port. A queued port can be used by both a master and a slave. The 56 * queue is a parameter to allow tailoring of the queue implementation 57 * (used in the cache). --- 12 unchanged lines hidden (view full) --- 70 71 /** 72 * Create a QueuedPort with a given name, owner, and a supplied 73 * implementation of a packet queue. The external definition of 74 * the queue enables e.g. the cache to implement a specific queue 75 * behaviuor in a subclass, and provide the latter to the 76 * QueuePort constructor. 77 */ | 51 52/** 53 * A queued port is a port that has an infinite queue for outgoing 54 * packets and thus decouples the module that wants to send 55 * request/responses from the flow control (retry mechanism) of the 56 * port. A queued port can be used by both a master and a slave. The 57 * queue is a parameter to allow tailoring of the queue implementation 58 * (used in the cache). --- 12 unchanged lines hidden (view full) --- 71 72 /** 73 * Create a QueuedPort with a given name, owner, and a supplied 74 * implementation of a packet queue. The external definition of 75 * the queue enables e.g. the cache to implement a specific queue 76 * behaviuor in a subclass, and provide the latter to the 77 * QueuePort constructor. 78 */ |
78 QueuedSlavePort(const std::string& name, MemObject* owner, | 79 QueuedSlavePort(const std::string& name, SimObject* owner, |
79 RespPacketQueue &resp_queue, PortID id = InvalidPortID) : 80 SlavePort(name, owner, id), respQueue(resp_queue) 81 { } 82 83 virtual ~QueuedSlavePort() { } 84 85 /** 86 * Schedule the sending of a timing response. --- 36 unchanged lines hidden (view full) --- 123 124 /** 125 * Create a QueuedPort with a given name, owner, and a supplied 126 * implementation of two packet queues. The external definition of 127 * the queues enables e.g. the cache to implement a specific queue 128 * behaviuor in a subclass, and provide the latter to the 129 * QueuePort constructor. 130 */ | 80 RespPacketQueue &resp_queue, PortID id = InvalidPortID) : 81 SlavePort(name, owner, id), respQueue(resp_queue) 82 { } 83 84 virtual ~QueuedSlavePort() { } 85 86 /** 87 * Schedule the sending of a timing response. --- 36 unchanged lines hidden (view full) --- 124 125 /** 126 * Create a QueuedPort with a given name, owner, and a supplied 127 * implementation of two packet queues. The external definition of 128 * the queues enables e.g. the cache to implement a specific queue 129 * behaviuor in a subclass, and provide the latter to the 130 * QueuePort constructor. 131 */ |
131 QueuedMasterPort(const std::string& name, MemObject* owner, | 132 QueuedMasterPort(const std::string& name, SimObject* owner, |
132 ReqPacketQueue &req_queue, 133 SnoopRespPacketQueue &snoop_resp_queue, 134 PortID id = InvalidPortID) : 135 MasterPort(name, owner, id), reqQueue(req_queue), 136 snoopRespQueue(snoop_resp_queue) 137 { } 138 139 virtual ~QueuedMasterPort() { } --- 29 unchanged lines hidden --- | 133 ReqPacketQueue &req_queue, 134 SnoopRespPacketQueue &snoop_resp_queue, 135 PortID id = InvalidPortID) : 136 MasterPort(name, owner, id), reqQueue(req_queue), 137 snoopRespQueue(snoop_resp_queue) 138 { } 139 140 virtual ~QueuedMasterPort() { } --- 29 unchanged lines hidden --- |