mem-cache: Fix include directives in the cache related classes
authorNikos Nikoleris <nikos.nikoleris@arm.com>
Thu, 3 May 2018 11:14:41 +0000 (12:14 +0100)
committerNikos Nikoleris <nikos.nikoleris@arm.com>
Thu, 31 May 2018 17:45:23 +0000 (17:45 +0000)
Change-Id: I111b0f662897c43974aadb08da1ed85c7542585c
Reviewed-on: https://gem5-review.googlesource.com/10433
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>

42 files changed:
src/mem/cache/blk.hh
src/mem/cache/mshr.cc
src/mem/cache/mshr.hh
src/mem/cache/mshr_queue.cc
src/mem/cache/mshr_queue.hh
src/mem/cache/prefetch/base.cc
src/mem/cache/prefetch/base.hh
src/mem/cache/prefetch/queued.cc
src/mem/cache/prefetch/queued.hh
src/mem/cache/prefetch/stride.cc
src/mem/cache/prefetch/stride.hh
src/mem/cache/prefetch/tagged.cc
src/mem/cache/prefetch/tagged.hh
src/mem/cache/queue.hh
src/mem/cache/queue_entry.hh
src/mem/cache/replacement_policies/bip_rp.cc
src/mem/cache/replacement_policies/bip_rp.hh
src/mem/cache/replacement_policies/brrip_rp.cc
src/mem/cache/replacement_policies/brrip_rp.hh
src/mem/cache/replacement_policies/fifo_rp.cc
src/mem/cache/replacement_policies/fifo_rp.hh
src/mem/cache/replacement_policies/lfu_rp.cc
src/mem/cache/replacement_policies/lfu_rp.hh
src/mem/cache/replacement_policies/lru_rp.cc
src/mem/cache/replacement_policies/lru_rp.hh
src/mem/cache/replacement_policies/mru_rp.cc
src/mem/cache/replacement_policies/mru_rp.hh
src/mem/cache/replacement_policies/random_rp.cc
src/mem/cache/replacement_policies/random_rp.hh
src/mem/cache/replacement_policies/second_chance_rp.cc
src/mem/cache/replacement_policies/second_chance_rp.hh
src/mem/cache/tags/base.cc
src/mem/cache/tags/base.hh
src/mem/cache/tags/base_set_assoc.cc
src/mem/cache/tags/base_set_assoc.hh
src/mem/cache/tags/cacheset.hh
src/mem/cache/tags/fa_lru.cc
src/mem/cache/tags/fa_lru.hh
src/mem/cache/write_queue.cc
src/mem/cache/write_queue.hh
src/mem/cache/write_queue_entry.cc
src/mem/cache/write_queue_entry.hh

index 561d50282e80fa04fa054a96c535da61f3afaccf..951abd5bec977a1b4616013e88734dbda67cf3e6 100644 (file)
 #ifndef __MEM_CACHE_BLK_HH__
 #define __MEM_CACHE_BLK_HH__
 
+#include <cassert>
+#include <cstdint>
+#include <iosfwd>
 #include <list>
+#include <string>
 
 #include "base/printable.hh"
+#include "base/types.hh"
 #include "mem/cache/replacement_policies/base.hh"
 #include "mem/packet.hh"
 #include "mem/request.hh"
index f5b346ee8650653192fe24fa30a39ea09ccef6a2..dc490790b1fd871f91533e973de423a768faa192 100644 (file)
 
 #include "mem/cache/mshr.hh"
 
-#include <algorithm>
 #include <cassert>
 #include <string>
-#include <vector>
 
 #include "base/logging.hh"
+#include "base/trace.hh"
 #include "base/types.hh"
 #include "debug/Cache.hh"
-#include "mem/cache/cache.hh"
+#include "mem/cache/base.hh"
+#include "mem/request.hh"
 #include "sim/core.hh"
 
 MSHR::MSHR() : downstreamPending(false),
index c4c764068a76272af5240bdd702bf360e2e01cb0..5c5a9e8d13af15fff7ee9e0a4444988f4bcbfd26 100644 (file)
 #ifndef __MEM_CACHE_MSHR_HH__
 #define __MEM_CACHE_MSHR_HH__
 
+#include <cassert>
+#include <iosfwd>
 #include <list>
+#include <string>
 
 #include "base/printable.hh"
+#include "base/types.hh"
 #include "mem/cache/queue_entry.hh"
+#include "mem/packet.hh"
+#include "sim/core.hh"
 
 class BaseCache;
 
index 29358d73780774f4a396f2aa55ddf3e9fddcbe7c..e44a21954b50299b8548499cb7cd7480f24d7c7c 100644 (file)
 
 #include "mem/cache/mshr_queue.hh"
 
+#include <cassert>
+
+#include "mem/cache/mshr.hh"
+
 MSHRQueue::MSHRQueue(const std::string &_label,
                      int num_entries, int reserve, int demand_reserve)
     : Queue<MSHR>(_label, num_entries, reserve),
index f0b5c2ab0762a1c22794b4091c75f729fac75810..1b960a5a2036d03da96258a9fb3ee214df072a44 100644 (file)
 #ifndef __MEM_CACHE_MSHR_QUEUE_HH__
 #define __MEM_CACHE_MSHR_QUEUE_HH__
 
-#include <vector>
+#include <string>
 
+#include "base/types.hh"
 #include "mem/cache/mshr.hh"
 #include "mem/cache/queue.hh"
+#include "mem/packet.hh"
 
 /**
  * A Class for maintaining a list of pending and allocated memory requests.
index 90c6742f919f466081e2765f99b42b6c1620ac16..22a12ba5fd925260f9d1c5755587b41625312ab6 100644 (file)
 
 #include "mem/cache/prefetch/base.hh"
 
-#include <list>
+#include <cassert>
 
 #include "base/intmath.hh"
 #include "mem/cache/base.hh"
+#include "params/BasePrefetcher.hh"
 #include "sim/system.hh"
 
 BasePrefetcher::BasePrefetcher(const BasePrefetcherParams *p)
index 3b2310621b65f10db47d1a38f37d8f70a65c7803..cc54ab1b830c85667f81698efc8b7c101a444648 100644 (file)
 #ifndef __MEM_CACHE_PREFETCH_BASE_HH__
 #define __MEM_CACHE_PREFETCH_BASE_HH__
 
+#include <cstdint>
+
 #include "base/statistics.hh"
+#include "base/types.hh"
 #include "mem/packet.hh"
-#include "params/BasePrefetcher.hh"
+#include "mem/request.hh"
 #include "sim/clocked_object.hh"
 
 class BaseCache;
+struct BasePrefetcherParams;
+class System;
 
 class BasePrefetcher : public ClockedObject
 {
index 4a685d88485902ef899ead87ad12696bdca23548..bf3a384ea9028cebbaeef48adb2ae71652fc7288 100644 (file)
 
 #include "mem/cache/prefetch/queued.hh"
 
+#include <cassert>
+
+#include "base/logging.hh"
+#include "base/trace.hh"
 #include "debug/HWPrefetch.hh"
-#include "mem/cache/base.hh"
+#include "mem/request.hh"
+#include "params/QueuedPrefetcher.hh"
 
 QueuedPrefetcher::QueuedPrefetcher(const QueuedPrefetcherParams *p)
     : BasePrefetcher(p), queueSize(p->queue_size), latency(p->latency),
index 108891fcc2bf84f5b7033c64ca7cd60b54b198b2..bb38377c138bc881877347e975de2e0c3806dfcf 100644 (file)
 #ifndef __MEM_CACHE_PREFETCH_QUEUED_HH__
 #define __MEM_CACHE_PREFETCH_QUEUED_HH__
 
+#include <cstdint>
 #include <list>
+#include <utility>
 
+#include "base/statistics.hh"
+#include "base/types.hh"
 #include "mem/cache/prefetch/base.hh"
-#include "params/QueuedPrefetcher.hh"
+#include "mem/packet.hh"
+
+struct QueuedPrefetcherParams;
 
 class QueuedPrefetcher : public BasePrefetcher
 {
index f2679a2924a5417bc5e71f4b887c2c64e5430465..efe982af2431b3d649d58be3b7be5aaa89d4e7dd 100644 (file)
 
 #include "mem/cache/prefetch/stride.hh"
 
+#include <cassert>
+
+#include "base/intmath.hh"
+#include "base/logging.hh"
 #include "base/random.hh"
 #include "base/trace.hh"
 #include "debug/HWPrefetch.hh"
+#include "params/StridePrefetcher.hh"
 
 StridePrefetcher::StridePrefetcher(const StridePrefetcherParams *p)
     : QueuedPrefetcher(p),
index be6e41d0a5d912b925364158cd1a971272ea9817..55cdbc86d10d983705be7100e2d439f615f2bcc2 100644 (file)
 #ifndef __MEM_CACHE_PREFETCH_STRIDE_HH__
 #define __MEM_CACHE_PREFETCH_STRIDE_HH__
 
+#include <string>
 #include <unordered_map>
 
+#include "base/types.hh"
 #include "mem/cache/prefetch/queued.hh"
-#include "params/StridePrefetcher.hh"
+#include "mem/packet.hh"
+
+struct StridePrefetcherParams;
 
 class StridePrefetcher : public QueuedPrefetcher
 {
index 32a5b47f84d7a530b2e0b8cc7e68eb6e5bc6c8e6..abe6b9dca58cc933732c8cedd1439b176039b1af 100644 (file)
@@ -35,6 +35,8 @@
 
 #include "mem/cache/prefetch/tagged.hh"
 
+#include "params/TaggedPrefetcher.hh"
+
 TaggedPrefetcher::TaggedPrefetcher(const TaggedPrefetcherParams *p)
     : QueuedPrefetcher(p), degree(p->degree)
 {
index 02debe91a6370281ead1849e3637ef89c025ef21..95162aa45fc156cdce722b596cd403d1af26d6d2 100644 (file)
@@ -37,8 +37,9 @@
 #define __MEM_CACHE_PREFETCH_TAGGED_HH__
 
 #include "mem/cache/prefetch/queued.hh"
-#include "params/TaggedPrefetcher.hh"
+#include "mem/packet.hh"
 
+struct TaggedPrefetcherParams;
 
 class TaggedPrefetcher : public QueuedPrefetcher
 {
index f603ea84e60f1cbb325bd29ba43a6110da0fd95c..8e5ccf1f4eecca4d992aaf9804aa9f4b24d45f32 100644 (file)
 #define __MEM_CACHE_QUEUE_HH__
 
 #include <cassert>
+#include <string>
 
 #include "base/trace.hh"
+#include "base/types.hh"
 #include "debug/Drain.hh"
 #include "mem/cache/queue_entry.hh"
+#include "mem/packet.hh"
+#include "sim/core.hh"
 #include "sim/drain.hh"
 
 /**
index 8923d860b8a59b2a0667c3693c027063f5193b39..7ab9e4f291163e4e0ce3602dee0789373ecdb7b9 100644 (file)
@@ -49,6 +49,7 @@
 #ifndef __MEM_CACHE_QUEUE_ENTRY_HH__
 #define __MEM_CACHE_QUEUE_ENTRY_HH__
 
+#include "base/types.hh"
 #include "mem/packet.hh"
 
 class BaseCache;
index 4a3a516f4a85133365a82a10e79167cbc0f90cd9..93143cacd3b702bf8be113660528909be71e634d 100644 (file)
@@ -33,6 +33,7 @@
 #include <memory>
 
 #include "base/random.hh"
+#include "params/BIPRP.hh"
 
 BIPRP::BIPRP(const Params *p)
     : LRURP(p), btp(p->btp)
index ac4db02e07172f880c7fdbdaae9f317d70d01d2d..aa8df05f208e0b9d3e8a5a0ffbd61d7cdc250d32 100644 (file)
@@ -45,7 +45,8 @@
 #define __MEM_CACHE_REPLACEMENT_POLICIES_BIP_RP_HH__
 
 #include "mem/cache/replacement_policies/lru_rp.hh"
-#include "params/BIPRP.hh"
+
+struct BIPRPParams;
 
 class BIPRP : public LRURP
 {
index 846b4fb9cc22533433f8f56c1548d393c64d8ce8..dc41d8b6b835d44bfc07db9d29aefae82faa8e0b 100644 (file)
 
 #include "mem/cache/replacement_policies/brrip_rp.hh"
 
+#include <cassert>
 #include <memory>
 
 #include "base/logging.hh" // For fatal_if
 #include "base/random.hh"
+#include "params/BRRIPRP.hh"
 
 BRRIPRP::BRRIPRP(const Params *p)
     : BaseReplacementPolicy(p),
index e442d85ce32a4874990eefa2a8d07672fcbe1513..9374742c15712effbb9746ab5a5a534a09f6d132 100644 (file)
@@ -55,7 +55,8 @@
 #define __MEM_CACHE_REPLACEMENT_POLICIES_BRRIP_RP_HH__
 
 #include "mem/cache/replacement_policies/base.hh"
-#include "params/BRRIPRP.hh"
+
+struct BRRIPRPParams;
 
 class BRRIPRP : public BaseReplacementPolicy
 {
index 731945a0a8d51061a43d8b3e70161d25a02dd1cd..7c5ce02fe6373dd28778f4b7289964a5a2ba8288 100644 (file)
 
 #include "mem/cache/replacement_policies/fifo_rp.hh"
 
+#include <cassert>
 #include <memory>
 
+#include "params/FIFORP.hh"
+
 FIFORP::FIFORP(const Params *p)
     : BaseReplacementPolicy(p)
 {
index 34067d50f6309cc13ac202170388b7cfee96a86e..77ff5d4892ccf4ca1ef9e9e9c741eb60956422f1 100644 (file)
 #ifndef __MEM_CACHE_REPLACEMENT_POLICIES_FIFO_RP_HH__
 #define __MEM_CACHE_REPLACEMENT_POLICIES_FIFO_RP_HH__
 
+#include "base/types.hh"
 #include "mem/cache/replacement_policies/base.hh"
-#include "params/FIFORP.hh"
+
+struct FIFORPParams;
 
 class FIFORP : public BaseReplacementPolicy
 {
index ffa653e87da958b5f77e4a461e393e257b286d77..299c74d820c1a7cde7359678312042279a7c7a7f 100644 (file)
 
 #include "mem/cache/replacement_policies/lfu_rp.hh"
 
+#include <cassert>
 #include <memory>
 
+#include "params/LFURP.hh"
+
 LFURP::LFURP(const Params *p)
     : BaseReplacementPolicy(p)
 {
index 8709e35d4aaf2fe99dc5c548a09fc5941feb4f08..0c184c4a5121fc6d592fcd24dc80eb9a9229dcdd 100644 (file)
@@ -40,7 +40,8 @@
 #define __MEM_CACHE_REPLACEMENT_POLICIES_LFU_RP_HH__
 
 #include "mem/cache/replacement_policies/base.hh"
-#include "params/LFURP.hh"
+
+struct LFURPParams;
 
 class LFURP : public BaseReplacementPolicy
 {
index 99e35db191128949c0324436fa0de8d040ee15a6..9e7dcb525e775f83f7f1a16ea1b041e9873864d4 100644 (file)
 
 #include "mem/cache/replacement_policies/lru_rp.hh"
 
+#include <cassert>
 #include <memory>
 
+#include "params/LRURP.hh"
+
 LRURP::LRURP(const Params *p)
     : BaseReplacementPolicy(p)
 {
index e8e708f1ce0094c9e1a7b47d563bd23da04abfc7..1b8a396b6dea119767e39b4855ddd4f881c20796 100644 (file)
@@ -39,7 +39,8 @@
 #define __MEM_CACHE_REPLACEMENT_POLICIES_LRU_RP_HH__
 
 #include "mem/cache/replacement_policies/base.hh"
-#include "params/LRURP.hh"
+
+struct LRURPParams;
 
 class LRURP : public BaseReplacementPolicy
 {
index ff84fc368d1940c7aa8f7223786e1943cb2d816e..b2e019f9ad6b7e7cc146a8a9f44273a2b083c118 100644 (file)
 
 #include "mem/cache/replacement_policies/mru_rp.hh"
 
+#include <cassert>
 #include <memory>
 
+#include "params/MRURP.hh"
+
 MRURP::MRURP(const Params *p)
     : BaseReplacementPolicy(p)
 {
index 11cc272a45d042427901787dbd00f6283f01a83d..a95da04a21716b0723cbe54846b88bda4dcd8bc3 100644 (file)
 #ifndef __MEM_CACHE_REPLACEMENT_POLICIES_MRU_RP_HH__
 #define __MEM_CACHE_REPLACEMENT_POLICIES_MRU_RP_HH__
 
+#include "base/types.hh"
 #include "mem/cache/replacement_policies/base.hh"
-#include "params/MRURP.hh"
+
+struct MRURPParams;
 
 class MRURP : public BaseReplacementPolicy
 {
index 6a0f353b724fce40716726dae1e08361a7b84646..c34d7ac33b1d2fbe3c2402f8786d0c2113f043a2 100644 (file)
 
 #include "mem/cache/replacement_policies/random_rp.hh"
 
+#include <cassert>
+#include <memory>
+
 #include "base/random.hh"
-#include "mem/cache/blk.hh"
+#include "params/RandomRP.hh"
 
 RandomRP::RandomRP(const Params *p)
     : BaseReplacementPolicy(p)
index 5514961b6f5df74869dd2a0f9e72a7d627f859ad..bbceaab56f8dd14ed2255d9ae5b38102960d262a 100644 (file)
@@ -38,7 +38,8 @@
 #define __MEM_CACHE_REPLACEMENT_POLICIES_RANDOM_RP_HH__
 
 #include "mem/cache/replacement_policies/base.hh"
-#include "params/RandomRP.hh"
+
+struct RandomRPParams;
 
 class RandomRP : public BaseReplacementPolicy
 {
index 2560a98465fa3504d3a89ccd74ccf265ff14f004..64e667fe656ab84d3aa9593b6a2dc2496638417f 100644 (file)
 
 #include "mem/cache/replacement_policies/second_chance_rp.hh"
 
+#include <cassert>
+
+#include "params/SecondChanceRP.hh"
+
 SecondChanceRP::SecondChanceRP(const Params *p)
     : FIFORP(p)
 {
index 5522d5e7f32b1c6c9ddc6a4fdc335f2f8e3014fd..84970e4a8a4c97efd872699b06a961bf498a8c5a 100644 (file)
 #ifndef __MEM_CACHE_REPLACEMENT_POLICIES_SECOND_CHANCE_RP_HH__
 #define __MEM_CACHE_REPLACEMENT_POLICIES_SECOND_CHANCE_RP_HH__
 
+#include "mem/cache/replacement_policies/base.hh"
 #include "mem/cache/replacement_policies/fifo_rp.hh"
-#include "params/SecondChanceRP.hh"
+
+struct SecondChanceRPParams;
 
 class SecondChanceRP : public FIFORP
 {
index 7d0a939898ff2feaa0f99ab5c40dbf7d36e0cf62..c7ea17bd1dc6d6ba60c1fd133e36d87863299b74 100644 (file)
 
 #include "mem/cache/tags/base.hh"
 
+#include <cassert>
+
+#include "base/types.hh"
 #include "mem/cache/base.hh"
+#include "mem/packet.hh"
+#include "mem/request.hh"
+#include "sim/core.hh"
 #include "sim/sim_exit.hh"
+#include "sim/system.hh"
 
 BaseTags::BaseTags(const Params *p)
     : ClockedObject(p), blkSize(p->block_size), blkMask(blkSize - 1),
index 47bab43236b25743d5e4c461e62768ce46363855..806f63aae212c6c01a4ea2b8635230f2f98ffde8 100644 (file)
 #ifndef __MEM_CACHE_TAGS_BASE_HH__
 #define __MEM_CACHE_TAGS_BASE_HH__
 
+#include <cassert>
 #include <string>
 
 #include "base/callback.hh"
+#include "base/logging.hh"
 #include "base/statistics.hh"
+#include "base/types.hh"
 #include "mem/cache/blk.hh"
-#include "mem/cache/replacement_policies/base.hh"
+#include "mem/packet.hh"
 #include "params/BaseTags.hh"
 #include "sim/clocked_object.hh"
 
index 5888d1f00b472d7369e26c0b027aa2081e1b21fc..d3420b440829601679106d38b00074f181e0a935 100644 (file)
 
 #include "mem/cache/tags/base_set_assoc.hh"
 
+#include <cassert>
 #include <string>
 
 #include "base/intmath.hh"
+#include "mem/request.hh"
 
 BaseSetAssoc::BaseSetAssoc(const Params *p)
     :BaseTags(p), assoc(p->assoc), allocAssoc(p->assoc),
index 5a3e832c15e356bb02631f22ecac79fa3216e35a..bf227c067e28a6dae4194ae37d489f59ad2270f5 100644 (file)
 #ifndef __MEM_CACHE_TAGS_BASE_SET_ASSOC_HH__
 #define __MEM_CACHE_TAGS_BASE_SET_ASSOC_HH__
 
-#include <cassert>
-#include <cstring>
+#include <string>
 #include <vector>
 
+#include "base/logging.hh"
+#include "base/types.hh"
 #include "debug/CacheRepl.hh"
 #include "mem/cache/base.hh"
 #include "mem/cache/blk.hh"
index 5a3445659f8d2f52080854505dbdded6e3d4f5ec..2675d45eefa14ec99c94483224146f202293b331 100644 (file)
@@ -49,6 +49,9 @@
 #define __MEM_CACHE_TAGS_CACHESET_HH__
 
 #include <cassert>
+#include <vector>
+
+#include "base/types.hh"
 
 /**
  * An associative set of cache blocks.
index 6abae2bb9416fe81ca6a16f40c8cd7294d6b4bfc..29dab3b6424faa7ee8e63fc8fe22b30fc7d11946 100644 (file)
@@ -53,6 +53,7 @@
 
 #include "base/intmath.hh"
 #include "base/logging.hh"
+#include "mem/cache/base.hh"
 
 FALRU::FALRU(const Params *p)
     : BaseTags(p),
index bec98e3a7cf91d782efc30d005448228d49d9aec..98a64577e35b2569ebe91cd6c6b2887616ee971c 100644 (file)
 #ifndef __MEM_CACHE_TAGS_FA_LRU_HH__
 #define __MEM_CACHE_TAGS_FA_LRU_HH__
 
-#include <list>
+#include <cstdint>
+#include <string>
 #include <unordered_map>
 
+#include "base/bitfield.hh"
 #include "base/intmath.hh"
-#include "mem/cache/base.hh"
+#include "base/logging.hh"
+#include "base/statistics.hh"
+#include "base/types.hh"
 #include "mem/cache/blk.hh"
 #include "mem/cache/tags/base.hh"
 #include "mem/packet.hh"
index 13e0fc5194fce11eb8f6d99881ea726f7ed8631e..11a2620dfda24b19b1f2630dfdff120bb5eeb9a8 100644 (file)
 
 #include "mem/cache/write_queue.hh"
 
+#include <cassert>
+
+#include "mem/cache/write_queue_entry.hh"
+
 WriteQueue::WriteQueue(const std::string &_label,
                        int num_entries, int reserve)
     : Queue<WriteQueueEntry>(_label, num_entries, reserve)
index 006d705567da4490bf34aa35ccf20eadc84c09b1..d9ace0d81fe380e6ed96d370794b700de907e316 100644 (file)
 #ifndef __MEM_CACHE_WRITE_QUEUE_HH__
 #define __MEM_CACHE_WRITE_QUEUE_HH__
 
-#include <vector>
+#include <string>
 
+#include "base/types.hh"
 #include "mem/cache/queue.hh"
 #include "mem/cache/write_queue_entry.hh"
+#include "mem/packet.hh"
 
 /**
  * A write queue for all eviction packets, i.e. writebacks and clean
index 4aa174b5ad2171c8bddb017479e1110bbf354d5f..e393731b7e0d6c54c5e9a7b74cce52742724a32e 100644 (file)
 
 #include "mem/cache/write_queue_entry.hh"
 
-#include <algorithm>
 #include <cassert>
 #include <string>
-#include <vector>
 
 #include "base/logging.hh"
 #include "base/types.hh"
-#include "debug/Cache.hh"
-#include "mem/cache/cache.hh"
-#include "sim/core.hh"
+#include "mem/cache/base.hh"
+#include "mem/request.hh"
 
 inline void
 WriteQueueEntry::TargetList::add(PacketPtr pkt, Tick readyTime,
index 40079b4caa794b5d699bc3aa5ce5891218dbb925..5a4b5a820a01c1bf2ed7f487f9dfb6584929b417 100644 (file)
 #ifndef __MEM_CACHE_WRITE_QUEUE_ENTRY_HH__
 #define __MEM_CACHE_WRITE_QUEUE_ENTRY_HH__
 
+#include <cassert>
+#include <iosfwd>
 #include <list>
+#include <string>
 
 #include "base/printable.hh"
+#include "base/types.hh"
 #include "mem/cache/queue_entry.hh"
+#include "mem/packet.hh"
+#include "sim/core.hh"
 
 class BaseCache;