queued.cc (13416:d90887d0c889) queued.cc (13422:4ec52da74cd5)
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

--- 77 unchanged lines hidden (view full) ---

86 }
87
88 // Calculate prefetches given this access
89 std::vector<AddrPriority> addresses;
90 calculatePrefetch(pkt, addresses);
91
92 // Queue up generated prefetches
93 for (AddrPriority& pf_info : addresses) {
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

--- 77 unchanged lines hidden (view full) ---

86 }
87
88 // Calculate prefetches given this access
89 std::vector<AddrPriority> addresses;
90 calculatePrefetch(pkt, addresses);
91
92 // Queue up generated prefetches
93 for (AddrPriority& pf_info : addresses) {
94
95 // Block align prefetch address
94 // Block align prefetch address
96 pf_info.first &= ~(Addr)(blkSize - 1);
95 pf_info.first = blockAddress(pf_info.first);
97
98 pfIdentified++;
99 DPRINTF(HWPrefetch, "Found a pf candidate addr: %#x, "
100 "inserting into prefetch queue.\n", pf_info.first);
101
102 // Create and insert the request
103 PacketPtr pf_pkt = insert(pf_info, is_secure);
104

--- 21 unchanged lines hidden (view full) ---

126 pfq.pop_front();
127
128 pfIssued++;
129 assert(pkt != nullptr);
130 DPRINTF(HWPrefetch, "Generating prefetch for %#x.\n", pkt->getAddr());
131 return pkt;
132}
133
96
97 pfIdentified++;
98 DPRINTF(HWPrefetch, "Found a pf candidate addr: %#x, "
99 "inserting into prefetch queue.\n", pf_info.first);
100
101 // Create and insert the request
102 PacketPtr pf_pkt = insert(pf_info, is_secure);
103

--- 21 unchanged lines hidden (view full) ---

125 pfq.pop_front();
126
127 pfIssued++;
128 assert(pkt != nullptr);
129 DPRINTF(HWPrefetch, "Generating prefetch for %#x.\n", pkt->getAddr());
130 return pkt;
131}
132
134std::list<QueuedPrefetcher::DeferredPacket>::const_iterator
133QueuedPrefetcher::const_iterator
135QueuedPrefetcher::inPrefetch(Addr address, bool is_secure) const
136{
137 for (const_iterator dp = pfq.begin(); dp != pfq.end(); dp++) {
138 if ((*dp).pkt->getAddr() == address &&
139 (*dp).pkt->isSecure() == is_secure) return dp;
140 }
141
142 return pfq.end();

--- 137 unchanged lines hidden ---
134QueuedPrefetcher::inPrefetch(Addr address, bool is_secure) const
135{
136 for (const_iterator dp = pfq.begin(); dp != pfq.end(); dp++) {
137 if ((*dp).pkt->getAddr() == address &&
138 (*dp).pkt->isSecure() == is_secure) return dp;
139 }
140
141 return pfq.end();

--- 137 unchanged lines hidden ---