addr_mapper.cc (10862:c78bfcfdfb02) | addr_mapper.cc (11284:b3926db25371) |
---|---|
1/* 2 * Copyright (c) 2012 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 --- 102 unchanged lines hidden (view full) --- 111 return ret_tick; 112} 113 114bool 115AddrMapper::recvTimingReq(PacketPtr pkt) 116{ 117 Addr orig_addr = pkt->getAddr(); 118 bool needsResponse = pkt->needsResponse(); | 1/* 2 * Copyright (c) 2012 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 --- 102 unchanged lines hidden (view full) --- 111 return ret_tick; 112} 113 114bool 115AddrMapper::recvTimingReq(PacketPtr pkt) 116{ 117 Addr orig_addr = pkt->getAddr(); 118 bool needsResponse = pkt->needsResponse(); |
119 bool memInhibitAsserted = pkt->memInhibitAsserted(); | 119 bool cacheResponding = pkt->cacheResponding(); |
120 | 120 |
121 if (needsResponse && !memInhibitAsserted) { | 121 if (needsResponse && !cacheResponding) { |
122 pkt->pushSenderState(new AddrMapperSenderState(orig_addr)); 123 } 124 125 pkt->setAddr(remapAddr(orig_addr)); 126 | 122 pkt->pushSenderState(new AddrMapperSenderState(orig_addr)); 123 } 124 125 pkt->setAddr(remapAddr(orig_addr)); 126 |
127 // Attempt to send the packet (always succeeds for inhibited 128 // packets) | 127 // Attempt to send the packet |
129 bool successful = masterPort.sendTimingReq(pkt); 130 131 // If not successful, restore the address and sender state 132 if (!successful) { 133 pkt->setAddr(orig_addr); 134 135 if (needsResponse) { 136 delete pkt->popSenderState(); --- 121 unchanged lines hidden --- | 128 bool successful = masterPort.sendTimingReq(pkt); 129 130 // If not successful, restore the address and sender state 131 if (!successful) { 132 pkt->setAddr(orig_addr); 133 134 if (needsResponse) { 135 delete pkt->popSenderState(); --- 121 unchanged lines hidden --- |