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 ---