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