simple_mem.cc (11190:0964165d1857) simple_mem.cc (11192:4c28abcf8249)
1/*
2 * Copyright (c) 2010-2013 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

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

92 }
93
94 pkt->popLabel();
95}
96
97bool
98SimpleMemory::recvTimingReq(PacketPtr pkt)
99{
1/*
2 * Copyright (c) 2010-2013 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

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

92 }
93
94 pkt->popLabel();
95}
96
97bool
98SimpleMemory::recvTimingReq(PacketPtr pkt)
99{
100 // sink inhibited packets without further action
100 if (pkt->memInhibitAsserted()) {
101 if (pkt->memInhibitAsserted()) {
101 // snooper will supply based on copy of packet
102 // still target's responsibility to delete packet
103 pendingDelete.reset(pkt);
104 return true;
105 }
106
102 pendingDelete.reset(pkt);
103 return true;
104 }
105
107 // we should never get a new request after committing to retry the
108 // current one, the bus violates the rule as it simply sends a
109 // retry to the next one waiting on the retry list, so simply
110 // ignore it
106 // we should not get a new request after committing to retry the
107 // current one, but unfortunately the CPU violates this rule, so
108 // simply ignore it for now
111 if (retryReq)
112 return false;
113
114 // if we are busy with a read or write, remember that we have to
115 // retry
116 if (isBusy) {
117 retryReq = true;
118 return false;

--- 163 unchanged lines hidden ---
109 if (retryReq)
110 return false;
111
112 // if we are busy with a read or write, remember that we have to
113 // retry
114 if (isBusy) {
115 retryReq = true;
116 return false;

--- 163 unchanged lines hidden ---