noncoherent_xbar.cc (12780:14937f6495b4) noncoherent_xbar.cc (12823:ba630bc7a36d)
1/*
2 * Copyright (c) 2011-2015, 2018 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

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

292 pkt->cmdString());
293 }
294
295 // since our slave ports are queued ports we need to check them as well
296 for (const auto& p : slavePorts) {
297 // if we find a response that has the data, then the
298 // downstream caches/memories may be out of date, so simply stop
299 // here
1/*
2 * Copyright (c) 2011-2015, 2018 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

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

292 pkt->cmdString());
293 }
294
295 // since our slave ports are queued ports we need to check them as well
296 for (const auto& p : slavePorts) {
297 // if we find a response that has the data, then the
298 // downstream caches/memories may be out of date, so simply stop
299 // here
300 if (p->checkFunctional(pkt)) {
300 if (p->trySatisfyFunctional(pkt)) {
301 if (pkt->needsResponse())
302 pkt->makeResponse();
303 return;
304 }
305 }
306
307 // determine the destination port
308 AddrRange addr_range = RangeSize(pkt->getAddr(), pkt->getSize());

--- 22 unchanged lines hidden ---
301 if (pkt->needsResponse())
302 pkt->makeResponse();
303 return;
304 }
305 }
306
307 // determine the destination port
308 AddrRange addr_range = RangeSize(pkt->getAddr(), pkt->getSize());

--- 22 unchanged lines hidden ---