Deleted Added
sdiff udiff text old ( 8831:6c08a877af8f ) new ( 8832:247fee427324 )
full compact
1/*
2 * Copyright (c) 2005 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

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

42StridePrefetcher::calculatePrefetch(PacketPtr &pkt, std::list<Addr> &addresses,
43 std::list<Tick> &delays)
44{
45 if (!pkt->req->hasPC()) {
46 DPRINTF(HWPrefetch, "ignoring request with no PC");
47 return;
48 }
49
50 if (useContextId && !pkt->req->hasContextId()) {
51 DPRINTF(HWPrefetch, "ignoring request with no context ID");
52 return;
53 }
54
55 Addr blk_addr = pkt->getAddr() & ~(Addr)(blkSize-1);
56 int ctx_id = useContextId ? pkt->req->contextId() : 0;
57 Addr pc = pkt->req->getPC();
58 assert(ctx_id < Max_Contexts);
59 std::list<StrideEntry*> &tab = table[ctx_id];
60
61 /* Scan Table for instAddr Match */
62 std::list<StrideEntry*>::iterator iter;
63 for (iter = tab.begin(); iter != tab.end(); iter++) {
64 if ((*iter)->instAddr == pc)
65 break;
66 }
67

--- 74 unchanged lines hidden ---