Deleted Added
sdiff udiff text old ( 12334:e0ab29a34764 ) new ( 12352:3bddc8785a99 )
full compact
1/*
2 * Copyright (c) 2013-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

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

210 if (isPow2(interested))
211 hitSingleSnoops++;
212 else
213 hitMultiSnoops++;
214
215 // ReadEx and Writes require both invalidation and exlusivity, while reads
216 // require neither. Writebacks on the other hand require exclusivity but
217 // not the invalidation. Previously Writebacks did not generate upward
218 // snoops so this was never an aissue. Now that Writebacks generate snoops
219 // we need to special case for Writebacks.
220 assert(cpkt->isWriteback() || cpkt->req->isUncacheable() ||
221 (cpkt->isInvalidate() == cpkt->needsWritable()));
222 if (cpkt->isInvalidate() && !sf_item.requested) {
223 // Early clear of the holder, if no other request is currently going on
224 // @todo: This should possibly be updated even though we do not filter
225 // upward snoops
226 sf_item.holder = 0;
227 }
228
229 eraseIfNullEntry(sf_it);

--- 179 unchanged lines hidden ---