1/* 2 * Copyright (c) 2012-2013, 2015 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 --- 357 unchanged lines hidden (view full) --- 366 // packet data storage may have been deleted by the time we 367 // get to send this packet. 368 PacketPtr cp_pkt = new Packet(pkt, true, true); 369 targets.add(cp_pkt, curTick(), _order, Target::FromSnoop, 370 downstreamPending && targets.needsExclusive); 371 372 if (isPendingDirty()) { 373 pkt->assertMemInhibit(); |
374 // in the case of an uncacheable request there is no need 375 // to set the exclusive flag, but since the recipient does 376 // not care there is no harm in doing so |
377 pkt->setSupplyExclusive(); 378 } 379 380 if (pkt->needsExclusive()) { 381 // This transaction will take away our pending copy 382 postInvalidate = true; 383 } 384 } 385 |
386 if (!pkt->needsExclusive() && !pkt->req->isUncacheable()) { |
387 // This transaction will get a read-shared copy, downgrading 388 // our copy if we had an exclusive one 389 postDowngrade = true; 390 pkt->assertShared(); 391 } 392 393 return true; 394} --- 96 unchanged lines hidden --- |