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 ---