X86: Make successive anonymous mmaps move down in 32 bit SE mode Linux.
authorGabe Black <gblack@eecs.umich.edu>
Fri, 2 Oct 2009 08:32:58 +0000 (01:32 -0700)
committerGabe Black <gblack@eecs.umich.edu>
Fri, 2 Oct 2009 08:32:58 +0000 (01:32 -0700)
src/arch/x86/linux/linux.hh
src/arch/x86/process.cc

index d5bead8f3dca29ceda6ea0d1b6ef0cc64370084a..a810d4a79600b5ba71392ebb97e2573f1fbcb84b 100644 (file)
@@ -190,7 +190,9 @@ class X86Linux32 : public Linux
        uint32_t totalhigh; /* Total high memory size */
        uint32_t freehigh;  /* Available high memory size */
        uint32_t mem_unit;  /* Memory unit size in bytes */
-   } tgt_sysinfo;
+    } tgt_sysinfo;
+
+    static bool mmapGrowsDown() { return true; }
 };
 
 #endif
index 4082e568cd5a40eb1973841bad7d5b788ac0e8a7..f7678443d181035b08e305848ad1562934d02f6e 100644 (file)
@@ -184,7 +184,7 @@ I386LiveProcess::I386LiveProcess(LiveProcessParams *params,
 
     // Set up region for mmaps. This was determined empirically and may not
     // always be correct.
-    mmap_start = mmap_end = (Addr)0xf7ffd000ULL;
+    mmap_start = mmap_end = (Addr)0xf7ffe000ULL;
 }
 
 SyscallDesc*