Mem: Remove the file parameter from AbstractMemory
authorAndreas Hansson <andreas.hansson@arm.com>
Wed, 19 Sep 2012 10:15:46 +0000 (06:15 -0400)
committerAndreas Hansson <andreas.hansson@arm.com>
Wed, 19 Sep 2012 10:15:46 +0000 (06:15 -0400)
This patch removes the unused file parameter from the
AbstractMemory. The patch serves to make it easier to transition to a
separation of the actual contigious host memory backing store, and the
gem5 memory controllers.

Without the file parameter it becomes easier to hide the creation of
the mmap in the PhysicalMemory, as there are no longer any reasons to
expose the actual contigious ranges to the user.

To the best of my knowledge there is no use of the parameter, so the
change should not affect anyone.

src/mem/AbstractMemory.py
src/mem/abstract_mem.cc

index bf1621f4dc85e49e40f04b6bd621829545b972a0..ce3f04c49548c648bb8f23b8d4334cb1b1ac7d2c 100644 (file)
@@ -46,7 +46,6 @@ class AbstractMemory(MemObject):
     type = 'AbstractMemory'
     abstract = True
     range = Param.AddrRange(AddrRange('128MB'), "Address range")
-    file = Param.String('', "Memory-mapped file")
     null = Param.Bool(False, "Do not store data, always return zero")
     zero = Param.Bool(False, "Initialize memory with zeros")
 
index ebe4a64b5e5e63d8517cd8b467c9cb664b882564..4d34bec8043f6d283fa8764b5d3ab25319c837ac 100644 (file)
@@ -76,29 +76,13 @@ AbstractMemory::AbstractMemory(const Params *p) :
     if (params()->null)
         return;
 
-    if (params()->file == "") {
-        int map_flags = MAP_ANON | MAP_PRIVATE;
-        pmemAddr = (uint8_t *)mmap(NULL, size(),
-                                   PROT_READ | PROT_WRITE, map_flags, -1, 0);
-    } else {
-        int map_flags = MAP_PRIVATE;
-        int fd = open(params()->file.c_str(), O_RDONLY);
-        long _size = lseek(fd, 0, SEEK_END);
-        if (_size != range.size()) {
-            fatal("Specified size %d does not match file %s %d\n",
-                  range.size(), params()->file, _size);
-        }
-        lseek(fd, 0, SEEK_SET);
-        pmemAddr = (uint8_t *)mmap(NULL, roundUp(_size, sysconf(_SC_PAGESIZE)),
-                                   PROT_READ | PROT_WRITE, map_flags, fd, 0);
-    }
+    int map_flags = MAP_ANON | MAP_PRIVATE;
+    pmemAddr = (uint8_t *)mmap(NULL, size(),
+                               PROT_READ | PROT_WRITE, map_flags, -1, 0);
 
     if (pmemAddr == (void *)MAP_FAILED) {
         perror("mmap");
-        if (params()->file == "")
-            fatal("Could not mmap!\n");
-        else
-            fatal("Could not find file: %s\n", params()->file);
+        fatal("Could not mmap!\n");
     }
 
     //If requested, initialize all the memory to 0