43a44
> * Andreas Hansson
79c80,84
< class CpuSidePort : public CachePort
---
> /**
> * The CPU-side port extends the base cache slave port with access
> * functions for functional, atomic and timing requests.
> */
> class CpuSidePort : public CacheSlavePort
81,84c86
< public:
< CpuSidePort(const std::string &_name,
< Cache<TagStore> *_cache,
< const std::string &_label);
---
> private:
86,91c88,89
< // BaseCache::CachePort just has a BaseCache *; this function
< // lets us get back the type info we lost when we stored the
< // cache pointer there.
< Cache<TagStore> *myCache() {
< return static_cast<Cache<TagStore> *>(cache);
< }
---
> // a pointer to our specific cache implementation
> Cache<TagStore> *cache;
93c91
< virtual AddrRangeList getAddrRanges();
---
> protected:
100d97
< };
102,103c99,103
< class MemSidePort : public CachePort
< {
---
> virtual unsigned deviceBlockSize() const
> { return cache->getBlockSize(); }
>
> virtual AddrRangeList getAddrRanges();
>
105,106c105,106
< MemSidePort(const std::string &_name,
< Cache<TagStore> *_cache,
---
>
> CpuSidePort(const std::string &_name, Cache<TagStore> *_cache,
109,114c109
< // BaseCache::CachePort just has a BaseCache *; this function
< // lets us get back the type info we lost when we stored the
< // cache pointer there.
< Cache<TagStore> *myCache() {
< return static_cast<Cache<TagStore> *>(cache);
< }
---
> };
116c111,117
< void sendPacket();
---
> /**
> * The memory-side port extends the base cache master port with
> * access functions for functional, atomic and timing snoops.
> */
> class MemSidePort : public CacheMasterPort
> {
> private:
118c119,120
< void processSendEvent();
---
> // a pointer to our specific cache implementation
> Cache<TagStore> *cache;
120c122
< virtual bool isSnooping();
---
> protected:
124,125d125
< virtual void recvRetry();
<
130,131c130,141
< typedef EventWrapper<MemSidePort, &MemSidePort::processSendEvent>
< SendEvent;
---
> virtual unsigned deviceBlockSize() const
> { return cache->getBlockSize(); }
>
> public:
>
> MemSidePort(const std::string &_name, Cache<TagStore> *_cache,
> const std::string &_label);
>
> /**
> * Overload sendDeferredPacket of SimpleTimingPort.
> */
> virtual void sendDeferredPacket();