cache.cc (11747:a6da15219f95) cache.cc (11749:3b2cb95f48ed)
1/*
2 * Copyright (c) 2010-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

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

1432 delete tgt_pkt;
1433 break;
1434
1435 case MSHR::Target::FromSnoop:
1436 // I don't believe that a snoop can be in an error state
1437 assert(!is_error);
1438 // response to snoop request
1439 DPRINTF(Cache, "processing deferred snoop...\n");
1/*
2 * Copyright (c) 2010-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

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

1432 delete tgt_pkt;
1433 break;
1434
1435 case MSHR::Target::FromSnoop:
1436 // I don't believe that a snoop can be in an error state
1437 assert(!is_error);
1438 // response to snoop request
1439 DPRINTF(Cache, "processing deferred snoop...\n");
1440 assert(!(is_invalidate && !mshr->hasPostInvalidate()));
1440 // If the response is invalidating, a snooping target can
1441 // be satisfied if it is also invalidating. If the reponse is, not
1442 // only invalidating, but more specifically an InvalidateResp, the
1443 // MSHR was created due to an InvalidateReq and a cache above is
1444 // waiting to satisfy a WriteLineReq. In this case even an
1445 // non-invalidating snoop is added as a target here since this is
1446 // the ordering point. When the InvalidateResp reaches this cache,
1447 // the snooping target will snoop further the cache above with the
1448 // WriteLineReq.
1449 assert(!(is_invalidate &&
1450 pkt->cmd != MemCmd::InvalidateResp &&
1451 !mshr->hasPostInvalidate()));
1441 handleSnoop(tgt_pkt, blk, true, true, mshr->hasPostInvalidate());
1442 break;
1443
1444 default:
1445 panic("Illegal target->source enum %d\n", target.source);
1446 }
1447 }
1448

--- 1206 unchanged lines hidden ---
1452 handleSnoop(tgt_pkt, blk, true, true, mshr->hasPostInvalidate());
1453 break;
1454
1455 default:
1456 panic("Illegal target->source enum %d\n", target.source);
1457 }
1458 }
1459

--- 1206 unchanged lines hidden ---