1/* 2 * Copyright (c) 2012-2014 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 --- 71 unchanged lines hidden (view full) --- 80 unsigned blkIndex = 0; // index into blks array 81 for (unsigned i = 0; i < numSets; ++i) { 82 sets[i].assoc = assoc; 83 84 sets[i].blks.resize(assoc); 85 86 // link in the data blocks 87 for (unsigned j = 0; j < assoc; ++j) { |
88 // Select block within the set to be linked 89 BlkType*& blk = sets[i].blks[j]; |
90 |
91 // Locate next cache block 92 blk = &blks[blkIndex]; |
93 |
94 // Associate a data chunk to the block 95 blk->data = &dataBlks[blkSize*blkIndex]; |
96 |
97 // Setting the tag to j is just to prevent long chains in the 98 // hash table; won't matter because the block is invalid |
99 blk->tag = j; |
100 101 // Set its set and way |
102 blk->set = i; 103 blk->way = j; |
104 105 // Update block index 106 ++blkIndex; |
107 } 108 } 109} 110 111CacheBlk* 112BaseSetAssoc::findBlock(Addr addr, bool is_secure) const 113{ 114 Addr tag = extractTag(addr); --- 72 unchanged lines hidden --- |