cache.cc (11749:3b2cb95f48ed) | cache.cc (11750:c15cc4d973ea) |
---|---|
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 --- 1379 unchanged lines hidden (view full) --- 1388 tgt_pkt->cmd == MemCmd::SCUpgradeFailReq); 1389 // responseLatency is the latency of the return path 1390 // from lower level caches/memory to an upper level cache or 1391 // the core. 1392 completion_time += clockEdge(responseLatency) + 1393 pkt->payloadDelay; 1394 tgt_pkt->req->setExtraData(0); 1395 } else { | 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 --- 1379 unchanged lines hidden (view full) --- 1388 tgt_pkt->cmd == MemCmd::SCUpgradeFailReq); 1389 // responseLatency is the latency of the return path 1390 // from lower level caches/memory to an upper level cache or 1391 // the core. 1392 completion_time += clockEdge(responseLatency) + 1393 pkt->payloadDelay; 1394 tgt_pkt->req->setExtraData(0); 1395 } else { |
1396 // We are about to send a response to a cache above 1397 // that asked for an invalidation; we need to 1398 // invalidate our copy immediately as the most 1399 // up-to-date copy of the block will now be in the 1400 // cache above. It will also prevent this cache from 1401 // responding (if the block was previously dirty) to 1402 // snoops as they should snoop the caches above where 1403 // they will get the response from. 1404 if (is_invalidate && blk && blk->isValid()) { 1405 invalidateBlock(blk); 1406 } |
|
1396 // not a cache fill, just forwarding response 1397 // responseLatency is the latency of the return path 1398 // from lower level cahces/memory to the core. 1399 completion_time += clockEdge(responseLatency) + 1400 pkt->payloadDelay; 1401 if (pkt->isRead() && !is_error) { 1402 // sanity check 1403 assert(pkt->getAddr() == tgt_pkt->getAddr()); --- 1262 unchanged lines hidden --- | 1407 // not a cache fill, just forwarding response 1408 // responseLatency is the latency of the return path 1409 // from lower level cahces/memory to the core. 1410 completion_time += clockEdge(responseLatency) + 1411 pkt->payloadDelay; 1412 if (pkt->isRead() && !is_error) { 1413 // sanity check 1414 assert(pkt->getAddr() == tgt_pkt->getAddr()); --- 1262 unchanged lines hidden --- |