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