changeset 6286bb50127e in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=6286bb50127e
description:
        SE: Fix simulating more than 4GB of RAM in SE mode

        This change removes some dead code in PhysicalMemory, uses a 64 bit type
        for the page pointer in System (instead of 32 bit) and cleans up some 
style.

diffstat:

 src/mem/physical.cc |  13 +------------
 src/mem/physical.hh |   2 --
 src/sim/system.cc   |  16 +++++++++-------
 src/sim/system.hh   |   6 +++---
 4 files changed, 13 insertions(+), 24 deletions(-)

diffs (125 lines):

diff -r d4216d81c99e -r 6286bb50127e src/mem/physical.cc
--- a/src/mem/physical.cc       Fri Nov 19 18:00:59 2010 -0600
+++ b/src/mem/physical.cc       Fri Nov 19 18:01:01 2010 -0600
@@ -68,8 +68,7 @@
 using namespace TheISA;
 
 PhysicalMemory::PhysicalMemory(const Params *p)
-    : MemObject(p), pmemAddr(NULL), pagePtr(0),
-      lat(p->latency), lat_var(p->latency_var),
+    : MemObject(p), pmemAddr(NULL), lat(p->latency), lat_var(p->latency_var),
       _size(params()->range.size()), _start(params()->range.start)
 {
     if (size() % TheISA::PageBytes != 0)
@@ -124,16 +123,6 @@
         munmap((char*)pmemAddr, size());
 }
 
-Addr
-PhysicalMemory::new_page()
-{
-    Addr return_addr = pagePtr << LogVMPageSize;
-    return_addr += start();
-
-    ++pagePtr;
-    return return_addr;
-}
-
 unsigned
 PhysicalMemory::deviceBlockSize() const
 {
diff -r d4216d81c99e -r 6286bb50127e src/mem/physical.hh
--- a/src/mem/physical.hh       Fri Nov 19 18:00:59 2010 -0600
+++ b/src/mem/physical.hh       Fri Nov 19 18:01:01 2010 -0600
@@ -148,7 +148,6 @@
     }
 
     uint8_t *pmemAddr;
-    int pagePtr;
     Tick lat;
     Tick lat_var;
     std::vector<MemoryPort*> ports;
@@ -157,7 +156,6 @@
     uint64_t _size;
     uint64_t _start;
   public:
-    Addr new_page();
     uint64_t size() { return _size; }
     uint64_t start() { return _start; }
 
diff -r d4216d81c99e -r 6286bb50127e src/sim/system.cc
--- a/src/sim/system.cc Fri Nov 19 18:00:59 2010 -0600
+++ b/src/sim/system.cc Fri Nov 19 18:01:01 2010 -0600
@@ -67,8 +67,8 @@
       init_param(p->init_param),
       loadAddrMask(p->load_addr_mask),
 #else
-      page_ptr(0),
-      next_PID(0),
+      pagePtr(0),
+      nextPID(0),
 #endif
       memoryMode(p->mem_mode), _params(p)
 {
@@ -255,8 +255,8 @@
 Addr
 System::new_page()
 {
-    Addr return_addr = page_ptr << LogVMPageSize;
-    ++page_ptr;
+    Addr return_addr = pagePtr << LogVMPageSize;
+    ++pagePtr;
     if (return_addr >= physmem->size())
         fatal("Out of memory, please increase size of physical memory.");
     return return_addr;
@@ -271,7 +271,7 @@
 Addr
 System::freeMemSize()
 {
-   return physmem->size() - (page_ptr << LogVMPageSize);
+   return physmem->size() - (pagePtr << LogVMPageSize);
 }
 
 #endif
@@ -282,7 +282,8 @@
 #if FULL_SYSTEM
     kernelSymtab->serialize("kernel_symtab", os);
 #else // !FULL_SYSTEM
-    SERIALIZE_SCALAR(page_ptr);
+    SERIALIZE_SCALAR(pagePtr);
+    SERIALIZE_SCALAR(nextPID);
 #endif
 }
 
@@ -293,7 +294,8 @@
 #if FULL_SYSTEM
     kernelSymtab->unserialize("kernel_symtab", cp, section);
 #else // !FULL_SYSTEM
-    UNSERIALIZE_SCALAR(page_ptr);
+    UNSERIALIZE_SCALAR(pagePtr);
+    UNSERIALIZE_SCALAR(nextPID);
 #endif
 }
 
diff -r d4216d81c99e -r 6286bb50127e src/sim/system.hh
--- a/src/sim/system.hh Fri Nov 19 18:00:59 2010 -0600
+++ b/src/sim/system.hh Fri Nov 19 18:01:01 2010 -0600
@@ -137,15 +137,15 @@
 
 #else
 
-    int page_ptr;
+    Addr pagePtr;
 
   protected:
-    uint64_t next_PID;
+    uint64_t nextPID;
 
   public:
     uint64_t allocatePID()
     {
-        return next_PID++;
+        return nextPID++;
     }
 
     /** Amount of physical memory that is still free */
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to