base.cc (9850:87d6b41749e9) base.cc (10263:c00b5ba43967)
1/*
2 * Copyright (c) 2012-2013 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

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

44 * @file
45 * Definition of BaseCache functions.
46 */
47
48#include "debug/Cache.hh"
49#include "debug/Drain.hh"
50#include "mem/cache/tags/fa_lru.hh"
51#include "mem/cache/tags/lru.hh"
1/*
2 * Copyright (c) 2012-2013 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

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

44 * @file
45 * Definition of BaseCache functions.
46 */
47
48#include "debug/Cache.hh"
49#include "debug/Drain.hh"
50#include "mem/cache/tags/fa_lru.hh"
51#include "mem/cache/tags/lru.hh"
52#include "mem/cache/tags/random_repl.hh"
52#include "mem/cache/base.hh"
53#include "mem/cache/cache.hh"
54#include "mem/cache/mshr.hh"
55#include "sim/full_system.hh"
56
57using namespace std;
58
59BaseCache::CacheSlavePort::CacheSlavePort(const std::string &_name,

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

778 if (dynamic_cast<FALRU*>(tags)) {
779 if (numSets != 1)
780 fatal("Got FALRU tags with more than one set\n");
781 return new Cache<FALRU>(this);
782 } else if (dynamic_cast<LRU*>(tags)) {
783 if (numSets == 1)
784 warn("Consider using FALRU tags for a fully associative cache\n");
785 return new Cache<LRU>(this);
53#include "mem/cache/base.hh"
54#include "mem/cache/cache.hh"
55#include "mem/cache/mshr.hh"
56#include "sim/full_system.hh"
57
58using namespace std;
59
60BaseCache::CacheSlavePort::CacheSlavePort(const std::string &_name,

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

779 if (dynamic_cast<FALRU*>(tags)) {
780 if (numSets != 1)
781 fatal("Got FALRU tags with more than one set\n");
782 return new Cache<FALRU>(this);
783 } else if (dynamic_cast<LRU*>(tags)) {
784 if (numSets == 1)
785 warn("Consider using FALRU tags for a fully associative cache\n");
786 return new Cache<LRU>(this);
787 } else if (dynamic_cast<RandomRepl*>(tags)) {
788 return new Cache<RandomRepl>(this);
786 } else {
787 fatal("No suitable tags selected\n");
788 }
789}
789 } else {
790 fatal("No suitable tags selected\n");
791 }
792}