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 = 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>()); |
208 delete pkt; 209 210 nic->send(resp); 211 return true; 212} 213 214void 215ExtMaster::recvReqRetry() { --- 19 unchanged lines hidden --- |