Deleted Added
sdiff udiff text old ( 12574:22936e2eb2da ) new ( 12600:e670dd17c8cf )
full compact
1/*
2 * Copyright (c) 2012-2014,2016-2017 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

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

49#ifndef __MEM_CACHE_TAGS_BASE_HH__
50#define __MEM_CACHE_TAGS_BASE_HH__
51
52#include <string>
53
54#include "base/callback.hh"
55#include "base/statistics.hh"
56#include "mem/cache/blk.hh"
57#include "params/BaseTags.hh"
58#include "sim/clocked_object.hh"
59
60class BaseCache;
61
62/**
63 * A common base class of Cache tagstore objects.
64 */

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

244 virtual void invalidate(CacheBlk *blk)
245 {
246 assert(blk);
247 assert(blk->isValid());
248 tagsInUse--;
249 occupancies[blk->srcMasterId]--;
250 }
251
252 virtual CacheBlk* accessBlock(Addr addr, bool is_secure, Cycles &lat) = 0;
253
254 virtual Addr extractTag(Addr addr) const = 0;
255
256 virtual void insertBlock(PacketPtr pkt, CacheBlk *blk) = 0;
257
258 /**
259 * Regenerate the block address.
260 *
261 * @param block The block.
262 * @return the block address.
263 */
264 virtual Addr regenerateBlkAddr(const CacheBlk* blk) const = 0;
265
266 virtual CacheBlk* findVictim(Addr addr) = 0;
267
268 virtual int extractSet(Addr addr) const = 0;
269
270 virtual void forEachBlk(CacheBlkVisitor &visitor) = 0;
271};
272
273class BaseTagsCallback : public Callback
274{
275 BaseTags *tags;

--- 14 unchanged lines hidden ---