Searched refs:mshr (Results 1 - 9 of 9) sorted by relevance

/gem5/src/mem/cache/
H A Dmshr_queue.cc52 #include "mem/cache/mshr.hh"
65 MSHR *mshr = freeList.front(); local
66 assert(mshr->getNumTargets() == 0);
69 mshr->allocate(blk_addr, blk_size, pkt, when_ready, order, alloc_on_fill);
70 mshr->allocIter = allocatedList.insert(allocatedList.end(), mshr);
71 mshr->readyIter = addToReadyList(mshr);
74 return mshr;
78 MSHRQueue::moveToFront(MSHR *mshr) argument
88 delay(MSHR *mshr, Tick delay_ticks) argument
99 markInService(MSHR *mshr, bool pending_modified_resp) argument
107 markPending(MSHR *mshr) argument
120 forceDeallocateTarget(MSHR *mshr) argument
[all...]
H A Dmshr_queue.hh54 #include "mem/cache/mshr.hh"
67 * Prevent prefetcher from taking all mshr entries
105 * @param mshr The entry to move.
107 void moveToFront(MSHR *mshr);
113 * @param mshr that needs to be delayed
116 void delay(MSHR *mshr, Tick delay_ticks);
122 * @param mshr The MSHR to mark in service.
126 void markInService(MSHR *mshr, bool pending_modified_resp);
130 * @param mshr The MSHR to resend.
132 void markPending(MSHR *mshr);
[all...]
H A Dcache.cc68 #include "mem/cache/mshr.hh"
357 MSHR *mshr = mshrQueue.findMatch(blk_addr, pkt->isSecure()); local
379 if (!mshr) {
402 BaseCache::handleTimingReqMiss(pkt, mshr, blk, forward_time, request_time);
689 Cache::serviceMSHRTargets(MSHR *mshr, const PacketPtr pkt, CacheBlk *blk) argument
691 QueueEntry::Target *initial_tgt = mshr->getTarget();
699 !mshr->wasWholeLineWrite;
701 MSHR::TargetList targets = mshr->extractServiceableTargets(pkt);
759 if (blk && blk->isValid() && !mshr->isForward) {
760 satisfyRequest(tgt_pkt, blk, true, mshr
1197 MSHR *mshr = mshrQueue.findMatch(blk_addr, is_secure); local
1343 sendMSHRQueuePacket(MSHR* mshr) argument
[all...]
H A Dnoncoherent_cache.cc64 #include "mem/cache/mshr.hh"
127 MSHR *mshr = mshrQueue.findMatch(blk_addr, pkt->isSecure(), false); local
132 assert(mshr || !blk || !blk->isValid());
134 BaseCache::handleTimingReqMiss(pkt, mshr, blk, forward_time, request_time);
245 NoncoherentCache::serviceMSHRTargets(MSHR *mshr, const PacketPtr pkt, argument
249 const int initial_offset = mshr->getTarget()->pkt->getOffset(blkSize);
251 MSHR::TargetList targets = mshr->extractServiceableTargets(pkt);
316 assert(mshr->getNumTargets() == 0);
H A Dcache.hh106 void serviceMSHRTargets(MSHR *mshr, const PacketPtr pkt,
171 * @param mshr The MSHR to turn into a packet and send
174 bool sendMSHRQueuePacket(MSHR* mshr) override;
H A Dnoncoherent_cache.hh88 void serviceMSHRTargets(MSHR *mshr, const PacketPtr pkt,
H A Dmshr.cc51 #include "mem/cache/mshr.hh"
124 MSHR *mshr = pkt->findNextSenderState<MSHR>(); local
125 if (mshr != nullptr) {
126 assert(!mshr->downstreamPending);
127 mshr->downstreamPending = true;
196 MSHR *mshr = t->pkt->findNextSenderState<MSHR>(); local
197 if (mshr != nullptr) {
198 mshr->clearDownstreamPending();
H A Dbase.cc59 #include "mem/cache/mshr.hh"
241 BaseCache::handleTimingReqMiss(PacketPtr pkt, MSHR *mshr, CacheBlk *blk, argument
250 if (mshr) {
285 mshr->allocateTarget(pkt, forward_time, order++,
287 if (mshr->getNumTargets() == numTarget) {
288 noTargetMSHR = mshr;
290 // need to be careful with this... if this mshr isn't
293 // mshrQueue.moveToFront(mshr);
433 MSHR *mshr = dynamic_cast<MSHR*>(pkt->popSenderState()); local
434 assert(mshr);
629 MSHR *mshr = mshrQueue.findMatch(blk_addr, is_secure); local
[all...]
H A Dbase.hh375 void markInService(MSHR *mshr, bool pending_modified_resp) argument
378 mshrQueue.markInService(mshr, pending_modified_resp);
493 * @param mshr Any existing mshr for the referenced cache block
497 void handleTimingReqMiss(PacketPtr pkt, MSHR *mshr, CacheBlk *blk,
518 * @param mshr The MSHR that corresponds to the reponse
522 virtual void serviceMSHRTargets(MSHR *mshr, const PacketPtr pkt,
1073 MSHR *mshr = mshrQueue.allocate(pkt->getBlockAddr(blkSize), blkSize, local
1086 return mshr;
1238 * @param mshr Th
[all...]

Completed in 21 milliseconds