misc: Substitute pointer to Request with aliased RequestPtr
Every usage of Request* in the code has been replaced with the RequestPtr alias. This is a preparing patch for when RequestPtr will be the typdefed to a smart pointer to Request rather then a raw pointer to Request. Change-Id: I73cbaf2d96ea9313a590cdc731a25662950cd51a Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Reviewed-on: https://gem5-review.googlesource.com/10995 Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com> Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br> Maintainer: Anthony Gutierrez <anthony.gutierrez@amd.com>
This commit is contained in:
@@ -85,7 +85,7 @@ handleLockedSnoop(XC *xc, PacketPtr pkt, Addr cacheBlockMask)
|
||||
|
||||
template <class XC>
|
||||
inline void
|
||||
handleLockedRead(XC *xc, Request *req)
|
||||
handleLockedRead(XC *xc, RequestPtr req)
|
||||
{
|
||||
xc->setMiscReg(MISCREG_LOCKADDR, req->getPaddr() & ~0xf);
|
||||
xc->setMiscReg(MISCREG_LOCKFLAG, true);
|
||||
@@ -99,7 +99,7 @@ handleLockedSnoopHit(XC *xc)
|
||||
|
||||
template <class XC>
|
||||
inline bool
|
||||
handleLockedWrite(XC *xc, Request *req, Addr cacheBlockMask)
|
||||
handleLockedWrite(XC *xc, RequestPtr req, Addr cacheBlockMask)
|
||||
{
|
||||
if (req->isUncacheable()) {
|
||||
// Funky Turbolaser mailbox access...don't update
|
||||
|
||||
@@ -91,7 +91,7 @@ handleLockedSnoop(XC *xc, PacketPtr pkt, Addr cacheBlockMask)
|
||||
|
||||
template <class XC>
|
||||
inline void
|
||||
handleLockedRead(XC *xc, Request *req)
|
||||
handleLockedRead(XC *xc, RequestPtr req)
|
||||
{
|
||||
xc->setMiscReg(MISCREG_LOCKADDR, req->getPaddr());
|
||||
xc->setMiscReg(MISCREG_LOCKFLAG, true);
|
||||
@@ -111,7 +111,7 @@ handleLockedSnoopHit(XC *xc)
|
||||
|
||||
template <class XC>
|
||||
inline bool
|
||||
handleLockedWrite(XC *xc, Request *req, Addr cacheBlockMask)
|
||||
handleLockedWrite(XC *xc, RequestPtr req, Addr cacheBlockMask)
|
||||
{
|
||||
if (req->isSwap())
|
||||
return true;
|
||||
|
||||
@@ -63,7 +63,7 @@ handleLockedSnoop(XC *xc, PacketPtr pkt, Addr cacheBlockMask)
|
||||
|
||||
template <class XC>
|
||||
inline void
|
||||
handleLockedRead(XC *xc, Request *req)
|
||||
handleLockedRead(XC *xc, RequestPtr req)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ handleLockedSnoopHit(XC *xc)
|
||||
|
||||
template <class XC>
|
||||
inline bool
|
||||
handleLockedWrite(XC *xc, Request *req, Addr cacheBlockMask)
|
||||
handleLockedWrite(XC *xc, RequestPtr req, Addr cacheBlockMask)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -461,9 +461,10 @@ namespace HsailISA
|
||||
*d = gpuDynInst->wavefront()->ldsChunk->
|
||||
read<c0>(vaddr);
|
||||
} else {
|
||||
Request *req = new Request(0, vaddr, sizeof(c0), 0,
|
||||
gpuDynInst->computeUnit()->masterId(),
|
||||
0, gpuDynInst->wfDynId);
|
||||
RequestPtr req = new Request(0,
|
||||
vaddr, sizeof(c0), 0,
|
||||
gpuDynInst->computeUnit()->masterId(),
|
||||
0, gpuDynInst->wfDynId);
|
||||
|
||||
gpuDynInst->setRequestFlags(req);
|
||||
PacketPtr pkt = new Packet(req, MemCmd::ReadReq);
|
||||
@@ -588,7 +589,7 @@ namespace HsailISA
|
||||
gpuDynInst->statusBitVector = VectorMask(1);
|
||||
gpuDynInst->useContinuation = false;
|
||||
// create request
|
||||
Request *req = new Request(0, 0, 0, 0,
|
||||
RequestPtr req = new Request(0, 0, 0, 0,
|
||||
gpuDynInst->computeUnit()->masterId(),
|
||||
0, gpuDynInst->wfDynId);
|
||||
req->setFlags(Request::ACQUIRE);
|
||||
@@ -1014,7 +1015,7 @@ namespace HsailISA
|
||||
gpuDynInst->execContinuation = &GPUStaticInst::execSt;
|
||||
gpuDynInst->useContinuation = true;
|
||||
// create request
|
||||
Request *req = new Request(0, 0, 0, 0,
|
||||
RequestPtr req = new Request(0, 0, 0, 0,
|
||||
gpuDynInst->computeUnit()->masterId(),
|
||||
0, gpuDynInst->wfDynId);
|
||||
req->setFlags(Request::RELEASE);
|
||||
@@ -1065,7 +1066,7 @@ namespace HsailISA
|
||||
gpuDynInst->wavefront()->ldsChunk->write<c0>(vaddr,
|
||||
*d);
|
||||
} else {
|
||||
Request *req =
|
||||
RequestPtr req =
|
||||
new Request(0, vaddr, sizeof(c0), 0,
|
||||
gpuDynInst->computeUnit()->masterId(),
|
||||
0, gpuDynInst->wfDynId);
|
||||
@@ -1488,7 +1489,7 @@ namespace HsailISA
|
||||
gpuDynInst->useContinuation = true;
|
||||
|
||||
// create request
|
||||
Request *req = new Request(0, 0, 0, 0,
|
||||
RequestPtr req = new Request(0, 0, 0, 0,
|
||||
gpuDynInst->computeUnit()->masterId(),
|
||||
0, gpuDynInst->wfDynId);
|
||||
req->setFlags(Request::RELEASE);
|
||||
@@ -1620,7 +1621,7 @@ namespace HsailISA
|
||||
"type.\n");
|
||||
}
|
||||
} else {
|
||||
Request *req =
|
||||
RequestPtr req =
|
||||
new Request(0, vaddr, sizeof(c0), 0,
|
||||
gpuDynInst->computeUnit()->masterId(),
|
||||
0, gpuDynInst->wfDynId,
|
||||
@@ -1675,7 +1676,7 @@ namespace HsailISA
|
||||
// the acquire completes
|
||||
gpuDynInst->useContinuation = false;
|
||||
// create request
|
||||
Request *req = new Request(0, 0, 0, 0,
|
||||
RequestPtr req = new Request(0, 0, 0, 0,
|
||||
gpuDynInst->computeUnit()->masterId(),
|
||||
0, gpuDynInst->wfDynId);
|
||||
req->setFlags(Request::ACQUIRE);
|
||||
|
||||
@@ -75,7 +75,7 @@ handleLockedSnoop(XC *xc, PacketPtr pkt, Addr cacheBlockMask)
|
||||
|
||||
template <class XC>
|
||||
inline void
|
||||
handleLockedRead(XC *xc, Request *req)
|
||||
handleLockedRead(XC *xc, RequestPtr req)
|
||||
{
|
||||
xc->setMiscReg(MISCREG_LLADDR, req->getPaddr() & ~0xf);
|
||||
xc->setMiscReg(MISCREG_LLFLAG, true);
|
||||
@@ -92,7 +92,7 @@ handleLockedSnoopHit(XC *xc)
|
||||
|
||||
template <class XC>
|
||||
inline bool
|
||||
handleLockedWrite(XC *xc, Request *req, Addr cacheBlockMask)
|
||||
handleLockedWrite(XC *xc, RequestPtr req, Addr cacheBlockMask)
|
||||
{
|
||||
if (req->isUncacheable()) {
|
||||
// Funky Turbolaser mailbox access...don't update
|
||||
|
||||
@@ -82,7 +82,7 @@ handleLockedSnoop(XC *xc, PacketPtr pkt, Addr cacheBlockMask)
|
||||
|
||||
|
||||
template <class XC> inline void
|
||||
handleLockedRead(XC *xc, Request *req)
|
||||
handleLockedRead(XC *xc, RequestPtr req)
|
||||
{
|
||||
locked_addrs.push(req->getPaddr() & ~0xF);
|
||||
DPRINTF(LLSC, "[cid:%d]: Reserved address %x.\n",
|
||||
@@ -94,7 +94,7 @@ handleLockedSnoopHit(XC *xc)
|
||||
{}
|
||||
|
||||
template <class XC> inline bool
|
||||
handleLockedWrite(XC *xc, Request *req, Addr cacheBlockMask)
|
||||
handleLockedWrite(XC *xc, RequestPtr req, Addr cacheBlockMask)
|
||||
{
|
||||
// Normally RISC-V uses zero to indicate success and nonzero to indicate
|
||||
// failure (right now only 1 is reserved), but in gem5 zero indicates
|
||||
|
||||
@@ -893,9 +893,9 @@ BaseDynInst<Impl>::initiateMemRead(Addr addr, unsigned size,
|
||||
Request::Flags flags)
|
||||
{
|
||||
instFlags[ReqMade] = true;
|
||||
Request *req = NULL;
|
||||
Request *sreqLow = NULL;
|
||||
Request *sreqHigh = NULL;
|
||||
RequestPtr req = NULL;
|
||||
RequestPtr sreqLow = NULL;
|
||||
RequestPtr sreqHigh = NULL;
|
||||
|
||||
if (instFlags[ReqMade] && translationStarted()) {
|
||||
req = savedReq;
|
||||
@@ -949,9 +949,9 @@ BaseDynInst<Impl>::writeMem(uint8_t *data, unsigned size, Addr addr,
|
||||
traceData->setMem(addr, size, flags);
|
||||
|
||||
instFlags[ReqMade] = true;
|
||||
Request *req = NULL;
|
||||
Request *sreqLow = NULL;
|
||||
Request *sreqHigh = NULL;
|
||||
RequestPtr req = NULL;
|
||||
RequestPtr sreqLow = NULL;
|
||||
RequestPtr sreqHigh = NULL;
|
||||
|
||||
if (instFlags[ReqMade] && translationStarted()) {
|
||||
req = savedReq;
|
||||
|
||||
@@ -337,7 +337,7 @@ CheckerCPU::dbg_vtophys(Addr addr)
|
||||
* Checks if the flags set by the Checker and Checkee match.
|
||||
*/
|
||||
bool
|
||||
CheckerCPU::checkFlags(Request *unverified_req, Addr vAddr,
|
||||
CheckerCPU::checkFlags(RequestPtr unverified_req, Addr vAddr,
|
||||
Addr pAddr, int flags)
|
||||
{
|
||||
Addr unverifiedVAddr = unverified_req->getVaddr();
|
||||
|
||||
@@ -531,7 +531,7 @@ class CheckerCPU : public BaseCPU, public ExecContext
|
||||
dumpAndExit();
|
||||
}
|
||||
|
||||
bool checkFlags(Request *unverified_req, Addr vAddr,
|
||||
bool checkFlags(RequestPtr unverified_req, Addr vAddr,
|
||||
Addr pAddr, int flags);
|
||||
|
||||
void dumpAndExit();
|
||||
@@ -540,7 +540,7 @@ class CheckerCPU : public BaseCPU, public ExecContext
|
||||
SimpleThread *threadBase() { return thread; }
|
||||
|
||||
InstResult unverifiedResult;
|
||||
Request *unverifiedReq;
|
||||
RequestPtr unverifiedReq;
|
||||
uint8_t *unverifiedMemData;
|
||||
|
||||
bool changedPC;
|
||||
|
||||
@@ -423,7 +423,7 @@ LSQ::SplitDataRequest::makeFragmentRequests()
|
||||
}
|
||||
}
|
||||
|
||||
Request *fragment = new Request();
|
||||
RequestPtr fragment = new Request();
|
||||
|
||||
fragment->setContext(request.contextId());
|
||||
fragment->setVirt(0 /* asid */,
|
||||
@@ -452,7 +452,7 @@ LSQ::SplitDataRequest::makeFragmentPackets()
|
||||
for (unsigned int fragment_index = 0; fragment_index < numFragments;
|
||||
fragment_index++)
|
||||
{
|
||||
Request *fragment = fragmentRequests[fragment_index];
|
||||
RequestPtr fragment = fragmentRequests[fragment_index];
|
||||
|
||||
DPRINTFS(MinorMem, (&port), "Making packet %d for request: %s"
|
||||
" (%d, 0x%x)\n",
|
||||
|
||||
@@ -399,7 +399,7 @@ class LSQ : public Named
|
||||
|
||||
/** Fragment Requests corresponding to the address ranges of
|
||||
* each fragment */
|
||||
std::vector<Request *> fragmentRequests;
|
||||
std::vector<RequestPtr> fragmentRequests;
|
||||
|
||||
/** Packets matching fragmentRequests to issue fragments to memory */
|
||||
std::vector<Packet *> fragmentPackets;
|
||||
|
||||
@@ -510,11 +510,11 @@ class LSQUnit {
|
||||
|
||||
public:
|
||||
/** Executes the load at the given index. */
|
||||
Fault read(Request *req, Request *sreqLow, Request *sreqHigh,
|
||||
Fault read(RequestPtr req, RequestPtr sreqLow, RequestPtr sreqHigh,
|
||||
int load_idx);
|
||||
|
||||
/** Executes the store at the given index. */
|
||||
Fault write(Request *req, Request *sreqLow, Request *sreqHigh,
|
||||
Fault write(RequestPtr req, RequestPtr sreqLow, RequestPtr sreqHigh,
|
||||
uint8_t *data, int store_idx);
|
||||
|
||||
/** Returns the index of the head load instruction. */
|
||||
@@ -549,7 +549,7 @@ class LSQUnit {
|
||||
|
||||
template <class Impl>
|
||||
Fault
|
||||
LSQUnit<Impl>::read(Request *req, Request *sreqLow, Request *sreqHigh,
|
||||
LSQUnit<Impl>::read(RequestPtr req, RequestPtr sreqLow, RequestPtr sreqHigh,
|
||||
int load_idx)
|
||||
{
|
||||
DynInstPtr load_inst = loadQueue[load_idx];
|
||||
@@ -883,7 +883,7 @@ LSQUnit<Impl>::read(Request *req, Request *sreqLow, Request *sreqHigh,
|
||||
|
||||
template <class Impl>
|
||||
Fault
|
||||
LSQUnit<Impl>::write(Request *req, Request *sreqLow, Request *sreqHigh,
|
||||
LSQUnit<Impl>::write(RequestPtr req, RequestPtr sreqLow, RequestPtr sreqHigh,
|
||||
uint8_t *data, int store_idx)
|
||||
{
|
||||
assert(storeQueue[store_idx].inst);
|
||||
|
||||
@@ -831,7 +831,7 @@ LSQUnit<Impl>::writebackStores()
|
||||
|
||||
DynInstPtr inst = storeQueue[storeWBIdx].inst;
|
||||
|
||||
Request *req = storeQueue[storeWBIdx].req;
|
||||
RequestPtr req = storeQueue[storeWBIdx].req;
|
||||
RequestPtr sreqLow = storeQueue[storeWBIdx].sreqLow;
|
||||
RequestPtr sreqHigh = storeQueue[storeWBIdx].sreqHigh;
|
||||
|
||||
|
||||
@@ -331,7 +331,7 @@ AtomicSimpleCPU::readMem(Addr addr, uint8_t * data, unsigned size,
|
||||
SimpleThread* thread = t_info.thread;
|
||||
|
||||
// use the CPU's statically allocated read request and packet objects
|
||||
Request *req = &data_read_req;
|
||||
RequestPtr req = &data_read_req;
|
||||
|
||||
if (traceData)
|
||||
traceData->setMem(addr, size, flags);
|
||||
@@ -435,7 +435,7 @@ AtomicSimpleCPU::writeMem(uint8_t *data, unsigned size, Addr addr,
|
||||
}
|
||||
|
||||
// use the CPU's statically allocated write request and packet objects
|
||||
Request *req = &data_write_req;
|
||||
RequestPtr req = &data_write_req;
|
||||
|
||||
if (traceData)
|
||||
traceData->setMem(addr, size, flags);
|
||||
|
||||
@@ -468,7 +468,7 @@ BaseSimpleCPU::checkForInterrupts()
|
||||
|
||||
|
||||
void
|
||||
BaseSimpleCPU::setupFetchRequest(Request *req)
|
||||
BaseSimpleCPU::setupFetchRequest(RequestPtr req)
|
||||
{
|
||||
SimpleExecContext &t_info = *threadInfo[curThread];
|
||||
SimpleThread* thread = t_info.thread;
|
||||
|
||||
@@ -129,7 +129,7 @@ class BaseSimpleCPU : public BaseCPU
|
||||
|
||||
|
||||
void checkForInterrupts();
|
||||
void setupFetchRequest(Request *req);
|
||||
void setupFetchRequest(RequestPtr req);
|
||||
void preExecute();
|
||||
void postExecute();
|
||||
void advancePC(const Fault &fault);
|
||||
|
||||
@@ -620,7 +620,7 @@ TimingSimpleCPU::fetch()
|
||||
|
||||
if (needToFetch) {
|
||||
_status = BaseSimpleCPU::Running;
|
||||
Request *ifetch_req = new Request();
|
||||
RequestPtr ifetch_req = new Request();
|
||||
ifetch_req->taskId(taskId());
|
||||
ifetch_req->setContext(thread->contextId());
|
||||
setupFetchRequest(ifetch_req);
|
||||
|
||||
@@ -60,7 +60,7 @@ InvalidateGenerator::initiate()
|
||||
Packet::Command cmd;
|
||||
|
||||
// For simplicity, requests are assumed to be 1 byte-sized
|
||||
Request *req = new Request(m_address, 1, flags, masterId);
|
||||
RequestPtr req = new Request(m_address, 1, flags, masterId);
|
||||
|
||||
//
|
||||
// Based on the current state, issue a load or a store
|
||||
|
||||
@@ -60,7 +60,7 @@ SeriesRequestGenerator::initiate()
|
||||
Request::Flags flags;
|
||||
|
||||
// For simplicity, requests are assumed to be 1 byte-sized
|
||||
Request *req = new Request(m_address, 1, flags, masterId);
|
||||
RequestPtr req = new Request(m_address, 1, flags, masterId);
|
||||
|
||||
Packet::Command cmd;
|
||||
bool do_write = (random_mt.random(0, 100) < m_percent_writes);
|
||||
|
||||
@@ -129,7 +129,7 @@ GarnetSyntheticTraffic::init()
|
||||
void
|
||||
GarnetSyntheticTraffic::completeRequest(PacketPtr pkt)
|
||||
{
|
||||
Request *req = pkt->req;
|
||||
RequestPtr req = pkt->req;
|
||||
|
||||
DPRINTF(GarnetSyntheticTraffic,
|
||||
"Completed injection of %s packet for address %x\n",
|
||||
@@ -279,7 +279,7 @@ GarnetSyntheticTraffic::generatePkt()
|
||||
//
|
||||
MemCmd::Command requestType;
|
||||
|
||||
Request *req = nullptr;
|
||||
RequestPtr req = nullptr;
|
||||
Request::Flags flags;
|
||||
|
||||
// Inject in specific Vnet
|
||||
|
||||
@@ -136,7 +136,7 @@ MemTest::getMasterPort(const std::string &if_name, PortID idx)
|
||||
void
|
||||
MemTest::completeRequest(PacketPtr pkt, bool functional)
|
||||
{
|
||||
Request *req = pkt->req;
|
||||
RequestPtr req = pkt->req;
|
||||
assert(req->getSize() == 1);
|
||||
|
||||
// this address is no longer outstanding
|
||||
@@ -246,7 +246,7 @@ MemTest::tick()
|
||||
|
||||
bool do_functional = (random_mt.random(0, 100) < percentFunctional) &&
|
||||
!uncacheable;
|
||||
Request *req = new Request(paddr, 1, flags, masterId);
|
||||
RequestPtr req = new Request(paddr, 1, flags, masterId);
|
||||
req->setContext(id);
|
||||
|
||||
outstandingAddrs.insert(paddr);
|
||||
|
||||
@@ -107,7 +107,7 @@ Check::initiatePrefetch()
|
||||
}
|
||||
|
||||
// Prefetches are assumed to be 0 sized
|
||||
Request *req = new Request(m_address, 0, flags,
|
||||
RequestPtr req = new Request(m_address, 0, flags,
|
||||
m_tester_ptr->masterId(), curTick(), m_pc);
|
||||
req->setContext(index);
|
||||
|
||||
@@ -146,7 +146,7 @@ Check::initiateFlush()
|
||||
|
||||
Request::Flags flags;
|
||||
|
||||
Request *req = new Request(m_address, CHECK_SIZE, flags,
|
||||
RequestPtr req = new Request(m_address, CHECK_SIZE, flags,
|
||||
m_tester_ptr->masterId(), curTick(), m_pc);
|
||||
|
||||
Packet::Command cmd;
|
||||
@@ -179,7 +179,7 @@ Check::initiateAction()
|
||||
Addr writeAddr(m_address + m_store_count);
|
||||
|
||||
// Stores are assumed to be 1 byte-sized
|
||||
Request *req = new Request(writeAddr, 1, flags, m_tester_ptr->masterId(),
|
||||
RequestPtr req = new Request(writeAddr, 1, flags, m_tester_ptr->masterId(),
|
||||
curTick(), m_pc);
|
||||
|
||||
req->setContext(index);
|
||||
@@ -244,7 +244,7 @@ Check::initiateCheck()
|
||||
}
|
||||
|
||||
// Checks are sized depending on the number of bytes written
|
||||
Request *req = new Request(m_address, CHECK_SIZE, flags,
|
||||
RequestPtr req = new Request(m_address, CHECK_SIZE, flags,
|
||||
m_tester_ptr->masterId(), curTick(), m_pc);
|
||||
|
||||
req->setContext(index);
|
||||
|
||||
@@ -59,7 +59,7 @@ BaseGen::getPacket(Addr addr, unsigned size, const MemCmd& cmd,
|
||||
Request::FlagsType flags)
|
||||
{
|
||||
// Create new request
|
||||
Request *req = new Request(addr, size, flags, masterID);
|
||||
RequestPtr req = new Request(addr, size, flags, masterID);
|
||||
// Dummy PC to have PC-based prefetchers latch on; get entropy into higher
|
||||
// bits
|
||||
req->setPC(((Addr)masterID) << 2);
|
||||
|
||||
@@ -1178,7 +1178,7 @@ ComputeUnit::DTLBPort::recvTimingResp(PacketPtr pkt)
|
||||
if (!stride)
|
||||
break;
|
||||
|
||||
Request *prefetch_req = new Request(0, vaddr + stride * pf *
|
||||
RequestPtr prefetch_req = new Request(0, vaddr + stride * pf *
|
||||
TheISA::PageBytes,
|
||||
sizeof(uint8_t), 0,
|
||||
computeUnit->masterId(),
|
||||
@@ -1801,7 +1801,7 @@ ComputeUnit::sendToLds(GPUDynInstPtr gpuDynInst)
|
||||
{
|
||||
// this is just a request to carry the GPUDynInstPtr
|
||||
// back and forth
|
||||
Request *newRequest = new Request();
|
||||
RequestPtr newRequest = new Request();
|
||||
newRequest->setPaddr(0x0);
|
||||
|
||||
// ReadReq is not evaluted by the LDS but the Packet ctor requires this
|
||||
|
||||
@@ -145,7 +145,7 @@ FetchUnit::initiateFetch(Wavefront *wavefront)
|
||||
}
|
||||
|
||||
// set up virtual request
|
||||
Request *req = new Request(0, vaddr, size, Request::INST_FETCH,
|
||||
RequestPtr req = new Request(0, vaddr, size, Request::INST_FETCH,
|
||||
computeUnit->masterId(), 0, 0, 0);
|
||||
|
||||
PacketPtr pkt = new Packet(req, MemCmd::ReadReq);
|
||||
|
||||
@@ -382,7 +382,7 @@ class GPUDynInst : public GPUExecContext
|
||||
}
|
||||
|
||||
void
|
||||
setRequestFlags(Request *req, bool setMemOrder=true)
|
||||
setRequestFlags(RequestPtr req, bool setMemOrder=true)
|
||||
{
|
||||
// currently these are the easy scopes to deduce
|
||||
if (isPrivateSeg()) {
|
||||
|
||||
@@ -338,7 +338,7 @@ Shader::AccessMem(uint64_t address, void *ptr, uint32_t size, int cu_id,
|
||||
|
||||
for (ChunkGenerator gen(address, size, cuList.at(cu_id)->cacheLineSize());
|
||||
!gen.done(); gen.next()) {
|
||||
Request *req = new Request(0, gen.addr(), gen.size(), 0,
|
||||
RequestPtr req = new Request(0, gen.addr(), gen.size(), 0,
|
||||
cuList[0]->masterId(), 0, 0, 0);
|
||||
|
||||
doFunctionalAccess(req, cmd, data_buf, suppress_func_errors, cu_id);
|
||||
|
||||
@@ -199,7 +199,7 @@ AbstractMemory::getAddrRange() const
|
||||
void
|
||||
AbstractMemory::trackLoadLocked(PacketPtr pkt)
|
||||
{
|
||||
Request *req = pkt->req;
|
||||
RequestPtr req = pkt->req;
|
||||
Addr paddr = LockedAddr::mask(req->getPaddr());
|
||||
|
||||
// first we check if we already have a locked addr for this
|
||||
@@ -230,7 +230,7 @@ AbstractMemory::trackLoadLocked(PacketPtr pkt)
|
||||
bool
|
||||
AbstractMemory::checkLockedAddrList(PacketPtr pkt)
|
||||
{
|
||||
Request *req = pkt->req;
|
||||
RequestPtr req = pkt->req;
|
||||
Addr paddr = LockedAddr::mask(req->getPaddr());
|
||||
bool isLLSC = pkt->isLLSC();
|
||||
|
||||
|
||||
@@ -79,12 +79,12 @@ class LockedAddr {
|
||||
static Addr mask(Addr paddr) { return (paddr & ~Addr_Mask); }
|
||||
|
||||
// check for matching execution context
|
||||
bool matchesContext(Request *req) const
|
||||
bool matchesContext(RequestPtr req) const
|
||||
{
|
||||
return (contextId == req->contextId());
|
||||
}
|
||||
|
||||
LockedAddr(Request *req) : addr(mask(req->getPaddr())),
|
||||
LockedAddr(RequestPtr req) : addr(mask(req->getPaddr())),
|
||||
contextId(req->contextId())
|
||||
{}
|
||||
|
||||
@@ -140,7 +140,7 @@ class AbstractMemory : public MemObject
|
||||
// this method must be called on *all* stores since even
|
||||
// non-conditional stores must clear any matching lock addresses.
|
||||
bool writeOK(PacketPtr pkt) {
|
||||
Request *req = pkt->req;
|
||||
RequestPtr req = pkt->req;
|
||||
if (lockedAddrList.empty()) {
|
||||
// no locked addrs: nothing to check, store_conditional fails
|
||||
bool isLLSC = pkt->isLLSC();
|
||||
|
||||
4
src/mem/cache/base.cc
vendored
4
src/mem/cache/base.cc
vendored
@@ -1278,7 +1278,7 @@ BaseCache::writebackBlk(CacheBlk *blk)
|
||||
|
||||
writebacks[Request::wbMasterId]++;
|
||||
|
||||
Request *req = new Request(regenerateBlkAddr(blk), blkSize, 0,
|
||||
RequestPtr req = new Request(regenerateBlkAddr(blk), blkSize, 0,
|
||||
Request::wbMasterId);
|
||||
if (blk->isSecure())
|
||||
req->setFlags(Request::SECURE);
|
||||
@@ -1313,7 +1313,7 @@ BaseCache::writebackBlk(CacheBlk *blk)
|
||||
PacketPtr
|
||||
BaseCache::writecleanBlk(CacheBlk *blk, Request::Flags dest, PacketId id)
|
||||
{
|
||||
Request *req = new Request(regenerateBlkAddr(blk), blkSize, 0,
|
||||
RequestPtr req = new Request(regenerateBlkAddr(blk), blkSize, 0,
|
||||
Request::wbMasterId);
|
||||
if (blk->isSecure()) {
|
||||
req->setFlags(Request::SECURE);
|
||||
|
||||
3
src/mem/cache/cache.cc
vendored
3
src/mem/cache/cache.cc
vendored
@@ -872,7 +872,8 @@ Cache::cleanEvictBlk(CacheBlk *blk)
|
||||
assert(!writebackClean);
|
||||
assert(blk && blk->isValid() && !blk->isDirty());
|
||||
// Creating a zero sized write, a message to the snoop filter
|
||||
Request *req =
|
||||
|
||||
RequestPtr req =
|
||||
new Request(regenerateBlkAddr(blk), blkSize, 0,
|
||||
Request::wbMasterId);
|
||||
if (blk->isSecure())
|
||||
|
||||
2
src/mem/cache/prefetch/queued.cc
vendored
2
src/mem/cache/prefetch/queued.cc
vendored
@@ -223,7 +223,7 @@ QueuedPrefetcher::insert(AddrPriority &pf_info, bool is_secure)
|
||||
}
|
||||
|
||||
/* Create a prefetch memory request */
|
||||
Request *pf_req =
|
||||
RequestPtr pf_req =
|
||||
new Request(pf_info.first, blkSize, 0, masterId);
|
||||
|
||||
if (is_secure) {
|
||||
|
||||
Reference in New Issue
Block a user