62d61
< #include "mem/cache/tags/cacheset.hh"
79c78
< typedef CacheSet<CacheBlk> SetType;
---
> typedef std::vector<CacheBlk*> SetType;
108a108,126
> /**
> * Find all possible block locations for insertion and replacement of
> * an address. Should be called immediately before ReplacementPolicy's
> * findVictim() not to break cache resizing.
> * Returns blocks in all ways belonging to the set of the address.
> *
> * @param addr The addr to a find possible locations for.
> * @return The possible locations.
> */
> std::vector<ReplaceableEntry*> getPossibleLocations(const Addr addr) const
> override
> {
> std::vector<ReplaceableEntry*> locations;
> for (const auto& blk : sets[extractSet(addr)]) {
> locations.push_back(static_cast<ReplaceableEntry*>(blk));
> }
> return locations;
> }
>
190,199d207
< * Finds the given address in the cache, do not update replacement data.
< * i.e. This is a no-side-effect find of a block.
< *
< * @param addr The address to find.
< * @param is_secure True if the target memory space is secure.
< * @return Pointer to the cache block if found.
< */
< CacheBlk* findBlock(Addr addr, bool is_secure) const override;
<
< /**
221c229
< std::vector<CacheBlk*> locations = getPossibleLocations(addr);
---
> std::vector<ReplaceableEntry*> locations = getPossibleLocations(addr);
238,251d245
< * Find all possible block locations for insertion and replacement of
< * an address. Should be called immediately before ReplacementPolicy's
< * findVictim() not to break cache resizing.
< * Returns blocks in all ways belonging to the set of the address.
< *
< * @param addr The addr to a find possible locations for.
< * @return The possible locations.
< */
< virtual const std::vector<CacheBlk*> getPossibleLocations(Addr addr) const
< {
< return sets[extractSet(addr)].blks;
< }
<
< /**