ExtMaster.cc (11618:37b0af2c7ba8) | ExtMaster.cc (12749:223c83ed9979) |
---|---|
1// Copyright (c) 2015 ARM Limited 2// All rights reserved. 3// 4// The license below extends only to copyright in the software and shall 5// not be construed as granting a license to any other intellectual 6// property including but not limited to intellectual property relating 7// to a hardware implementation of the functionality of the software 8// licensed hereunder. You may use the software subject to the license --- 157 unchanged lines hidden (view full) --- 166 if (ev->isLoadLink()) { 167 assert(cmdI == GetS); 168 cmdO = MemCmd::LoadLockedReq; 169 } else if (ev->isStoreConditional()) { 170 assert(cmdI == GetX); 171 cmdO = MemCmd::StoreCondReq; 172 } 173 | 1// Copyright (c) 2015 ARM Limited 2// All rights reserved. 3// 4// The license below extends only to copyright in the software and shall 5// not be construed as granting a license to any other intellectual 6// property including but not limited to intellectual property relating 7// to a hardware implementation of the functionality of the software 8// licensed hereunder. You may use the software subject to the license --- 157 unchanged lines hidden (view full) --- 166 if (ev->isLoadLink()) { 167 assert(cmdI == GetS); 168 cmdO = MemCmd::LoadLockedReq; 169 } else if (ev->isStoreConditional()) { 170 assert(cmdI == GetX); 171 cmdO = MemCmd::StoreCondReq; 172 } 173 |
174 auto req = new Request(ev->getAddr(), ev->getSize(), flags, 0); | 174 auto req = std::make_shared<Request>(ev->getAddr(), ev->getSize(), flags, 0); |
175 req->setContext(ev->getGroupId()); 176 177 auto pkt = new Packet(req, cmdO); 178 pkt->allocate(); 179 if (data) { 180 pkt->setData(ev->getPayload().data()); 181 } 182 pkt->pushSenderState(new SenderState(ev)); --- 17 unchanged lines hidden (view full) --- 200 MemEvent* ev = senderState->event; 201 delete senderState; 202 203 MemEvent* resp = ev->makeResponse(); 204 delete ev; 205 206 // copy the payload and then destroy gem5 packet 207 resp->setPayload(pkt->getSize(), pkt->getPtr<uint8_t>()); | 175 req->setContext(ev->getGroupId()); 176 177 auto pkt = new Packet(req, cmdO); 178 pkt->allocate(); 179 if (data) { 180 pkt->setData(ev->getPayload().data()); 181 } 182 pkt->pushSenderState(new SenderState(ev)); --- 17 unchanged lines hidden (view full) --- 200 MemEvent* ev = senderState->event; 201 delete senderState; 202 203 MemEvent* resp = ev->makeResponse(); 204 delete ev; 205 206 // copy the payload and then destroy gem5 packet 207 resp->setPayload(pkt->getSize(), pkt->getPtr<uint8_t>()); |
208 delete pkt->req; | |
209 delete pkt; 210 211 nic->send(resp); 212 return true; 213} 214 215void 216ExtMaster::recvReqRetry() { --- 19 unchanged lines hidden --- | 208 delete pkt; 209 210 nic->send(resp); 211 return true; 212} 213 214void 215ExtMaster::recvReqRetry() { --- 19 unchanged lines hidden --- |