coherent_xbar.cc (11564:dac4b77b5a49) coherent_xbar.cc (11605:65ae342b627b)
1/*
1/*
2 * Copyright (c) 2011-2015 ARM Limited
2 * Copyright (c) 2011-2016 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
9 * licensed hereunder. You may use the software subject to the license
10 * terms below provided that you ensure that this notice is replicated

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

261 respond_directly = true;
262 assert(!expect_snoop_resp);
263 expect_response = false;
264 }
265 }
266
267 if (snoopFilter && !system->bypassCaches()) {
268 // Let the snoop filter know about the success of the send operation
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
9 * licensed hereunder. You may use the software subject to the license
10 * terms below provided that you ensure that this notice is replicated

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

261 respond_directly = true;
262 assert(!expect_snoop_resp);
263 expect_response = false;
264 }
265 }
266
267 if (snoopFilter && !system->bypassCaches()) {
268 // Let the snoop filter know about the success of the send operation
269 snoopFilter->finishRequest(!success, addr);
269 snoopFilter->finishRequest(!success, addr, pkt->isSecure());
270 }
271
272 // check if we were successful in sending the packet onwards
273 if (!success) {
274 // express snoops should never be forced to retry
275 assert(!is_express_snoop);
276
277 // restore the header delay

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

661 " SF size: %i lat: %i\n", __func__,
662 slavePorts[slave_port_id]->name(), pkt->cmdString(),
663 pkt->getAddr(), sf_res.first.size(), sf_res.second);
664
665 // let the snoop filter know about the success of the send
666 // operation, and do it even before sending it onwards to
667 // avoid situations where atomic upward snoops sneak in
668 // between and change the filter state
270 }
271
272 // check if we were successful in sending the packet onwards
273 if (!success) {
274 // express snoops should never be forced to retry
275 assert(!is_express_snoop);
276
277 // restore the header delay

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

661 " SF size: %i lat: %i\n", __func__,
662 slavePorts[slave_port_id]->name(), pkt->cmdString(),
663 pkt->getAddr(), sf_res.first.size(), sf_res.second);
664
665 // let the snoop filter know about the success of the send
666 // operation, and do it even before sending it onwards to
667 // avoid situations where atomic upward snoops sneak in
668 // between and change the filter state
669 snoopFilter->finishRequest(false, pkt->getAddr());
669 snoopFilter->finishRequest(false, pkt->getAddr(), pkt->isSecure());
670
671 snoop_result = forwardAtomic(pkt, slave_port_id, InvalidPortID,
672 sf_res.first);
673 } else {
674 snoop_result = forwardAtomic(pkt, slave_port_id);
675 }
676 snoop_response_cmd = snoop_result.first;
677 snoop_response_latency += snoop_result.second;

--- 314 unchanged lines hidden ---
670
671 snoop_result = forwardAtomic(pkt, slave_port_id, InvalidPortID,
672 sf_res.first);
673 } else {
674 snoop_result = forwardAtomic(pkt, slave_port_id);
675 }
676 snoop_response_cmd = snoop_result.first;
677 snoop_response_latency += snoop_result.second;

--- 314 unchanged lines hidden ---