diff options
-rw-r--r-- | src/mem/physical.cc | 4 | ||||
-rw-r--r-- | src/mem/physical.hh | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/mem/physical.cc b/src/mem/physical.cc index 8c56d340f..a3a9df64e 100644 --- a/src/mem/physical.cc +++ b/src/mem/physical.cc @@ -70,6 +70,10 @@ PhysicalMemory::PhysicalMemory(const Params *p) memset(pmemAddr, 0, p->range.size()); pagePtr = 0; + + cachedSize = params()->range.size(); + cachedStart = params()->range.start; + } void diff --git a/src/mem/physical.hh b/src/mem/physical.hh index b06cc90f8..c3749bd5b 100644 --- a/src/mem/physical.hh +++ b/src/mem/physical.hh @@ -149,10 +149,12 @@ class PhysicalMemory : public MemObject std::vector<MemoryPort*> ports; typedef std::vector<MemoryPort*>::iterator PortIterator; + uint64_t cachedSize; + uint64_t cachedStart; public: Addr new_page(); - uint64_t size() { return params()->range.size(); } - uint64_t start() { return params()->range.start; } + uint64_t size() { return cachedSize; } + uint64_t start() { return cachedStart; } public: typedef PhysicalMemoryParams Params; |