noncoherent_xbar.hh (10405:7a618c07e663) noncoherent_xbar.hh (10713:eddb533708cb)
1/*
2 * Copyright (c) 2011-2014 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

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

71{
72
73 protected:
74
75 /**
76 * Declare the layers of this crossbar, one vector for requests
77 * and one for responses.
78 */
1/*
2 * Copyright (c) 2011-2014 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

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

71{
72
73 protected:
74
75 /**
76 * Declare the layers of this crossbar, one vector for requests
77 * and one for responses.
78 */
79 typedef Layer<SlavePort,MasterPort> ReqLayer;
80 typedef Layer<MasterPort,SlavePort> RespLayer;
81 std::vector<ReqLayer*> reqLayers;
82 std::vector<RespLayer*> respLayers;
83
84 /**
85 * Declaration of the non-coherent crossbar slave port type, one
86 * will be instantiated for each of the master ports connecting to
87 * the crossbar.
88 */

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

118 * When receiving a functional request, pass it to the crossbar.
119 */
120 virtual void recvFunctional(PacketPtr pkt)
121 { xbar.recvFunctional(pkt, id); }
122
123 /**
124 * When receiving a retry, pass it to the crossbar.
125 */
79 std::vector<ReqLayer*> reqLayers;
80 std::vector<RespLayer*> respLayers;
81
82 /**
83 * Declaration of the non-coherent crossbar slave port type, one
84 * will be instantiated for each of the master ports connecting to
85 * the crossbar.
86 */

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

116 * When receiving a functional request, pass it to the crossbar.
117 */
118 virtual void recvFunctional(PacketPtr pkt)
119 { xbar.recvFunctional(pkt, id); }
120
121 /**
122 * When receiving a retry, pass it to the crossbar.
123 */
126 virtual void recvRetry()
124 virtual void recvRespRetry()
127 { panic("Crossbar slave ports should never retry.\n"); }
128
129 /**
130 * Return the union of all adress ranges seen by this crossbar.
131 */
132 virtual AddrRangeList getAddrRanges() const
133 { return xbar.getAddrRanges(); }
134

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

163
164 /** When reciving a range change from the peer port (at id),
165 pass it to the crossbar. */
166 virtual void recvRangeChange()
167 { xbar.recvRangeChange(id); }
168
169 /** When reciving a retry from the peer port (at id),
170 pass it to the crossbar. */
125 { panic("Crossbar slave ports should never retry.\n"); }
126
127 /**
128 * Return the union of all adress ranges seen by this crossbar.
129 */
130 virtual AddrRangeList getAddrRanges() const
131 { return xbar.getAddrRanges(); }
132

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

161
162 /** When reciving a range change from the peer port (at id),
163 pass it to the crossbar. */
164 virtual void recvRangeChange()
165 { xbar.recvRangeChange(id); }
166
167 /** When reciving a retry from the peer port (at id),
168 pass it to the crossbar. */
171 virtual void recvRetry()
172 { xbar.recvRetry(id); }
169 virtual void recvReqRetry()
170 { xbar.recvReqRetry(id); }
173
174 };
175
176 /** Function called by the port when the crossbar is recieving a Timing
177 request packet.*/
178 virtual bool recvTimingReq(PacketPtr pkt, PortID slave_port_id);
179
180 /** Function called by the port when the crossbar is recieving a Timing
181 response packet.*/
182 virtual bool recvTimingResp(PacketPtr pkt, PortID master_port_id);
183
184 /** Timing function called by port when it is once again able to process
185 * requests. */
171
172 };
173
174 /** Function called by the port when the crossbar is recieving a Timing
175 request packet.*/
176 virtual bool recvTimingReq(PacketPtr pkt, PortID slave_port_id);
177
178 /** Function called by the port when the crossbar is recieving a Timing
179 response packet.*/
180 virtual bool recvTimingResp(PacketPtr pkt, PortID master_port_id);
181
182 /** Timing function called by port when it is once again able to process
183 * requests. */
186 void recvRetry(PortID master_port_id);
184 void recvReqRetry(PortID master_port_id);
187
188 /** Function called by the port when the crossbar is recieving a Atomic
189 transaction.*/
190 Tick recvAtomic(PacketPtr pkt, PortID slave_port_id);
191
192 /** Function called by the port when the crossbar is recieving a Functional
193 transaction.*/
194 void recvFunctional(PacketPtr pkt, PortID slave_port_id);

--- 17 unchanged lines hidden ---
185
186 /** Function called by the port when the crossbar is recieving a Atomic
187 transaction.*/
188 Tick recvAtomic(PacketPtr pkt, PortID slave_port_id);
189
190 /** Function called by the port when the crossbar is recieving a Functional
191 transaction.*/
192 void recvFunctional(PacketPtr pkt, PortID slave_port_id);

--- 17 unchanged lines hidden ---