summaryrefslogtreecommitdiff
path: root/src/mem/coherent_bus.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/coherent_bus.hh')
-rw-r--r--src/mem/coherent_bus.hh13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/mem/coherent_bus.hh b/src/mem/coherent_bus.hh
index eb8b41e6a..d8ddd507c 100644
--- a/src/mem/coherent_bus.hh
+++ b/src/mem/coherent_bus.hh
@@ -72,12 +72,15 @@ class CoherentBus : public BaseBus
protected:
/**
- * Declare the three layers of this bus, one for requests, one
+ * Declare the layers of this bus, one vector for requests, one
* for responses, and one for snoop responses
*/
- Layer<SlavePort> reqLayer;
- Layer<MasterPort> respLayer;
- Layer<SlavePort> snoopRespLayer;
+ typedef Layer<SlavePort,MasterPort> ReqLayer;
+ typedef Layer<MasterPort,SlavePort> RespLayer;
+ typedef Layer<SlavePort,MasterPort> SnoopLayer;
+ std::vector<ReqLayer*> reqLayers;
+ std::vector<RespLayer*> respLayers;
+ std::vector<SnoopLayer*> snoopLayers;
/**
* Declaration of the coherent bus slave port type, one will be
@@ -309,6 +312,8 @@ class CoherentBus : public BaseBus
CoherentBus(const CoherentBusParams *p);
+ virtual ~CoherentBus();
+
unsigned int drain(DrainManager *dm);
virtual void regStats();