cache.cc (11334:9bd2e84abdca) | cache.cc (11352:4e195fb9ec4f) |
---|---|
1/* 2 * Copyright (c) 2010-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 --- 952 unchanged lines hidden (view full) --- 961 cmd = cpu_pkt->isLLSC() ? MemCmd::SCUpgradeReq : MemCmd::UpgradeReq; 962 } else if (cpu_pkt->cmd == MemCmd::SCUpgradeFailReq || 963 cpu_pkt->cmd == MemCmd::StoreCondFailReq) { 964 // Even though this SC will fail, we still need to send out the 965 // request and get the data to supply it to other snoopers in the case 966 // where the determination the StoreCond fails is delayed due to 967 // all caches not being on the same local bus. 968 cmd = MemCmd::SCUpgradeFailReq; | 1/* 2 * Copyright (c) 2010-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 --- 952 unchanged lines hidden (view full) --- 961 cmd = cpu_pkt->isLLSC() ? MemCmd::SCUpgradeReq : MemCmd::UpgradeReq; 962 } else if (cpu_pkt->cmd == MemCmd::SCUpgradeFailReq || 963 cpu_pkt->cmd == MemCmd::StoreCondFailReq) { 964 // Even though this SC will fail, we still need to send out the 965 // request and get the data to supply it to other snoopers in the case 966 // where the determination the StoreCond fails is delayed due to 967 // all caches not being on the same local bus. 968 cmd = MemCmd::SCUpgradeFailReq; |
969 } else if (cpu_pkt->cmd == MemCmd::WriteLineReq) { | 969 } else if (cpu_pkt->cmd == MemCmd::WriteLineReq || 970 cpu_pkt->cmd == MemCmd::InvalidateReq) { |
970 // forward as invalidate to all other caches, this gives us 971 // the line in Exclusive state, and invalidates all other 972 // copies 973 cmd = MemCmd::InvalidateReq; 974 } else { 975 // block is invalid 976 cmd = needsWritable ? MemCmd::ReadExReq : 977 (isReadOnly ? MemCmd::ReadCleanReq : MemCmd::ReadSharedReq); --- 1686 unchanged lines hidden --- | 971 // forward as invalidate to all other caches, this gives us 972 // the line in Exclusive state, and invalidates all other 973 // copies 974 cmd = MemCmd::InvalidateReq; 975 } else { 976 // block is invalid 977 cmd = needsWritable ? MemCmd::ReadExReq : 978 (isReadOnly ? MemCmd::ReadCleanReq : MemCmd::ReadSharedReq); --- 1686 unchanged lines hidden --- |