X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmem%2Faddr_mapper.hh;h=e6229d67a2599733decc8789c52dc2f6e6745e1e;hb=abd33d6fd26bb69d3bf53ceb6c2dc8f90d893e34;hp=f469b26bad2ff261b84ce11b3206e482c9c73e38;hpb=396600de107220db8c2c8f3951eeb7062ac0e81c;p=gem5.git diff --git a/src/mem/addr_mapper.hh b/src/mem/addr_mapper.hh index f469b26ba..e6229d67a 100644 --- a/src/mem/addr_mapper.hh +++ b/src/mem/addr_mapper.hh @@ -40,9 +40,10 @@ #ifndef __MEM_ADDR_MAPPER_HH__ #define __MEM_ADDR_MAPPER_HH__ -#include "mem/mem_object.hh" +#include "mem/port.hh" #include "params/AddrMapper.hh" #include "params/RangeAddrMapper.hh" +#include "sim/sim_object.hh" /** * An address mapper changes the packet addresses in going from the @@ -53,7 +54,7 @@ * currently not modified. */ -class AddrMapper : public MemObject +class AddrMapper : public SimObject { public: @@ -62,13 +63,10 @@ class AddrMapper : public MemObject virtual ~AddrMapper() { } - virtual MasterPort& getMasterPort(const std::string& if_name, - int idx = -1); + Port &getPort(const std::string &if_name, + PortID idx=InvalidPortID) override; - virtual SlavePort& getSlavePort(const std::string& if_name, - int idx = -1); - - virtual void init(); + void init() override; protected: @@ -87,23 +85,16 @@ class AddrMapper : public MemObject public: /** - * Construct a new sender state and remember the original one - * so that we can implement a stack. + * Construct a new sender state to remember the original address. * - * @param _origSenderState Sender state to remember * @param _origAddr Address before remapping */ - AddrMapperSenderState(SenderState* _origSenderState, - Addr _origAddr) - : origSenderState(_origSenderState), origAddr(_origAddr) + AddrMapperSenderState(Addr _origAddr) : origAddr(_origAddr) { } /** Destructor */ ~AddrMapperSenderState() { } - /** Pointer to old sender state of packet */ - SenderState* origSenderState; - /** The original address the packet was destined for */ Addr origAddr; @@ -150,14 +141,9 @@ class AddrMapper : public MemObject return mapper.isSnooping(); } - unsigned deviceBlockSize() const - { - return mapper.deviceBlockSizeMaster(); - } - - void recvRetry() + void recvReqRetry() { - mapper.recvRetryMaster(); + mapper.recvReqRetry(); } private: @@ -200,19 +186,14 @@ class AddrMapper : public MemObject return mapper.recvTimingSnoopResp(pkt); } - unsigned deviceBlockSize() const - { - return mapper.deviceBlockSizeSlave(); - } - AddrRangeList getAddrRanges() const { return mapper.getAddrRanges(); } - void recvRetry() + void recvRespRetry() { - mapper.recvRetrySlave(); + mapper.recvRespRetry(); } private: @@ -240,17 +221,13 @@ class AddrMapper : public MemObject bool recvTimingSnoopResp(PacketPtr pkt); - unsigned deviceBlockSizeMaster(); - - unsigned deviceBlockSizeSlave(); - virtual AddrRangeList getAddrRanges() const = 0; bool isSnooping() const; - void recvRetryMaster(); + void recvReqRetry(); - void recvRetrySlave(); + void recvRespRetry(); void recvRangeChange(); };