queued.cc (12749:223c83ed9979) | queued.cc (13416:d90887d0c889) |
---|---|
1/* 2 * Copyright (c) 2014-2015 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 --- 49 unchanged lines hidden (view full) --- 58QueuedPrefetcher::~QueuedPrefetcher() 59{ 60 // Delete the queued prefetch packets 61 for (DeferredPacket &p : pfq) { 62 delete p.pkt; 63 } 64} 65 | 1/* 2 * Copyright (c) 2014-2015 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 --- 49 unchanged lines hidden (view full) --- 58QueuedPrefetcher::~QueuedPrefetcher() 59{ 60 // Delete the queued prefetch packets 61 for (DeferredPacket &p : pfq) { 62 delete p.pkt; 63 } 64} 65 |
66Tick | 66void |
67QueuedPrefetcher::notify(const PacketPtr &pkt) 68{ 69 // Verify this access type is observed by prefetcher 70 if (observeAccess(pkt)) { 71 Addr blk_addr = pkt->getBlockAddr(blkSize); 72 bool is_secure = pkt->isSecure(); 73 74 // Squash queued prefetches if demand miss to same line --- 30 unchanged lines hidden (view full) --- 105 if (pf_pkt != nullptr) { 106 if (tagPrefetch && pkt->req->hasPC()) { 107 // Tag prefetch packet with accessing pc 108 pf_pkt->req->setPC(pkt->req->getPC()); 109 } 110 } 111 } 112 } | 67QueuedPrefetcher::notify(const PacketPtr &pkt) 68{ 69 // Verify this access type is observed by prefetcher 70 if (observeAccess(pkt)) { 71 Addr blk_addr = pkt->getBlockAddr(blkSize); 72 bool is_secure = pkt->isSecure(); 73 74 // Squash queued prefetches if demand miss to same line --- 30 unchanged lines hidden (view full) --- 105 if (pf_pkt != nullptr) { 106 if (tagPrefetch && pkt->req->hasPC()) { 107 // Tag prefetch packet with accessing pc 108 pf_pkt->req->setPC(pkt->req->getPC()); 109 } 110 } 111 } 112 } |
113 114 return pfq.empty() ? MaxTick : pfq.front().tick; | |
115} 116 117PacketPtr 118QueuedPrefetcher::getPacket() 119{ 120 DPRINTF(HWPrefetch, "Requesting a prefetch to issue.\n"); 121 122 if (pfq.empty()) { --- 159 unchanged lines hidden --- | 113} 114 115PacketPtr 116QueuedPrefetcher::getPacket() 117{ 118 DPRINTF(HWPrefetch, "Requesting a prefetch to issue.\n"); 119 120 if (pfq.empty()) { --- 159 unchanged lines hidden --- |