diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2006-08-16 19:01:23 -0400 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2006-08-16 19:01:23 -0400 |
commit | 402fbda3df18ff1e4581d441a7ddd59f006926c0 (patch) | |
tree | 6d6d7a9c345d29e32343baa73419dd3bbcdc8eb2 /src/mem/physical.hh | |
parent | 759626bdeeff140849d464b1fd3ec668f8169504 (diff) | |
parent | 2f145ac54ab3a9ed2c00e80460a10782da895604 (diff) | |
download | gem5-402fbda3df18ff1e4581d441a7ddd59f006926c0.tar.xz |
Merge zizzer:/bk/newmem
into zeep.pool:/z/saidi/tmp/m5.newmem
--HG--
extra : convert_revision : f4fa62290ca2bbd4726fb6c8e89655dade53bb68
Diffstat (limited to 'src/mem/physical.hh')
-rw-r--r-- | src/mem/physical.hh | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/src/mem/physical.hh b/src/mem/physical.hh index b549c1f8b..c0a5523ba 100644 --- a/src/mem/physical.hh +++ b/src/mem/physical.hh @@ -80,19 +80,28 @@ class PhysicalMemory : public MemObject const PhysicalMemory &operator=(const PhysicalMemory &specmem); protected: - Addr base_addr; - Addr pmem_size; - uint8_t *pmem_addr; + uint8_t *pmemAddr; MemoryPort *port; - int page_ptr; + int pagePtr; Tick lat; public: Addr new_page(); - uint64_t size() { return pmem_size; } + uint64_t size() { return params()->addrRange.size(); } + + struct Params + { + std::string name; + Range<Addr> addrRange; + Tick latency; + }; + + protected: + Params *_params; public: - PhysicalMemory(const std::string &n, Tick latency); + const Params *params() const { return _params; } + PhysicalMemory(Params *p); virtual ~PhysicalMemory(); public: @@ -102,9 +111,9 @@ class PhysicalMemory : public MemObject void virtual init(); unsigned int drain(Event *de); - private: + protected: Tick doFunctionalAccess(Packet *pkt); - + virtual Tick calculateLatency(Packet *pkt); void recvStatusChange(Port::Status status); public: |