cache.hh (11168:f98eb2da15a4) cache.hh (11169:44b5c183c3cd)
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

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

329 /**
330 * Create a CleanEvict request for the given block.
331 * @param blk The block to evict.
332 * @return The CleanEvict request for the block.
333 */
334 PacketPtr cleanEvictBlk(CacheBlk *blk);
335
336
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

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

329 /**
330 * Create a CleanEvict request for the given block.
331 * @param blk The block to evict.
332 * @return The CleanEvict request for the block.
333 */
334 PacketPtr cleanEvictBlk(CacheBlk *blk);
335
336
337 void memWriteback();
338 void memInvalidate();
339 bool isDirty() const;
337 void memWriteback() override;
338 void memInvalidate() override;
339 bool isDirty() const override;
340
341 /**
342 * Cache block visitor that writes back dirty cache blocks using
343 * functional writes.
344 *
345 * \return Always returns true.
346 */
347 bool writebackVisitor(CacheBlk &blk);

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

405 {
406 return mshrQueue.allocated != 0;
407 }
408
409 CacheBlk *findBlock(Addr addr, bool is_secure) const {
410 return tags->findBlock(addr, is_secure);
411 }
412
340
341 /**
342 * Cache block visitor that writes back dirty cache blocks using
343 * functional writes.
344 *
345 * \return Always returns true.
346 */
347 bool writebackVisitor(CacheBlk &blk);

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

405 {
406 return mshrQueue.allocated != 0;
407 }
408
409 CacheBlk *findBlock(Addr addr, bool is_secure) const {
410 return tags->findBlock(addr, is_secure);
411 }
412
413 bool inCache(Addr addr, bool is_secure) const {
413 bool inCache(Addr addr, bool is_secure) const override {
414 return (tags->findBlock(addr, is_secure) != 0);
415 }
416
414 return (tags->findBlock(addr, is_secure) != 0);
415 }
416
417 bool inMissQueue(Addr addr, bool is_secure) const {
417 bool inMissQueue(Addr addr, bool is_secure) const override {
418 return (mshrQueue.findMatch(addr, is_secure) != 0);
419 }
420
421 /**
422 * Find next request ready time from among possible sources.
423 */
424 Tick nextMSHRReadyTime() const;
425
426 public:
427 /** Instantiates a basic cache object. */
428 Cache(const CacheParams *p);
429
430 /** Non-default destructor is needed to deallocate memory. */
431 virtual ~Cache();
432
418 return (mshrQueue.findMatch(addr, is_secure) != 0);
419 }
420
421 /**
422 * Find next request ready time from among possible sources.
423 */
424 Tick nextMSHRReadyTime() const;
425
426 public:
427 /** Instantiates a basic cache object. */
428 Cache(const CacheParams *p);
429
430 /** Non-default destructor is needed to deallocate memory. */
431 virtual ~Cache();
432
433 void regStats();
433 void regStats() override;
434
435 /** serialize the state of the caches
436 * We currently don't support checkpointing cache state, so this panics.
437 */
438 void serialize(CheckpointOut &cp) const override;
439 void unserialize(CheckpointIn &cp) override;
440};
441

--- 59 unchanged lines hidden ---
434
435 /** serialize the state of the caches
436 * We currently don't support checkpointing cache state, so this panics.
437 */
438 void serialize(CheckpointOut &cp) const override;
439 void unserialize(CheckpointIn &cp) override;
440};
441

--- 59 unchanged lines hidden ---