mshr.cc (6221:58a3c04e6344) | mshr.cc (7465:f97b62be544f) |
---|---|
1/* 2 * Copyright (c) 2002-2005 The Regents of The University of Michigan | 1/* 2 * Copyright (c) 2002-2005 The Regents of The University of Michigan |
3 * Copyright (c) 2010 Advancec Micro Devices, Inc. |
|
3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; 9 * redistributions in binary form must reproduce the above copyright 10 * notice, this list of conditions and the following disclaimer in the --- 55 unchanged lines hidden (view full) --- 66MSHR::TargetList::add(PacketPtr pkt, Tick readyTime, 67 Counter order, Target::Source source, bool markPending) 68{ 69 if (source != Target::FromSnoop) { 70 if (pkt->needsExclusive()) { 71 needsExclusive = true; 72 } 73 | 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are 8 * met: redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer; 10 * redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the --- 55 unchanged lines hidden (view full) --- 67MSHR::TargetList::add(PacketPtr pkt, Tick readyTime, 68 Counter order, Target::Source source, bool markPending) 69{ 70 if (source != Target::FromSnoop) { 71 if (pkt->needsExclusive()) { 72 needsExclusive = true; 73 } 74 |
74 if (pkt->cmd == MemCmd::UpgradeReq) { | 75 if (pkt->isUpgrade()) { |
75 hasUpgrade = true; 76 } 77 } 78 79 if (markPending) { 80 MSHR *mshr = dynamic_cast<MSHR*>(pkt->senderState); 81 if (mshr != NULL) { 82 assert(!mshr->downstreamPending); --- 11 unchanged lines hidden (view full) --- 94 if (!hasUpgrade) 95 return; 96 97 Iterator end_i = end(); 98 for (Iterator i = begin(); i != end_i; ++i) { 99 if (i->pkt->cmd == MemCmd::UpgradeReq) { 100 i->pkt->cmd = MemCmd::ReadExReq; 101 DPRINTF(Cache, "Replacing UpgradeReq with ReadExReq\n"); | 76 hasUpgrade = true; 77 } 78 } 79 80 if (markPending) { 81 MSHR *mshr = dynamic_cast<MSHR*>(pkt->senderState); 82 if (mshr != NULL) { 83 assert(!mshr->downstreamPending); --- 11 unchanged lines hidden (view full) --- 95 if (!hasUpgrade) 96 return; 97 98 Iterator end_i = end(); 99 for (Iterator i = begin(); i != end_i; ++i) { 100 if (i->pkt->cmd == MemCmd::UpgradeReq) { 101 i->pkt->cmd = MemCmd::ReadExReq; 102 DPRINTF(Cache, "Replacing UpgradeReq with ReadExReq\n"); |
103 } else if (i->pkt->cmd == MemCmd::SCUpgradeReq) { 104 i->pkt->cmd = MemCmd::SCUpgradeFailReq; 105 DPRINTF(Cache, "Replacing SCUpgradeReq with SCUpgradeFailReq\n"); |
|
102 } 103 } 104 105 hasUpgrade = false; 106} 107 108 109void --- 330 unchanged lines hidden --- | 106 } 107 } 108 109 hasUpgrade = false; 110} 111 112 113void --- 330 unchanged lines hidden --- |