diff options
Diffstat (limited to 'src/mem/coherent_bus.hh')
-rw-r--r-- | src/mem/coherent_bus.hh | 13 |
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(); |