syscall_emul: move mmapGrowsDown() to LiveProcess
authorSteve Reinhardt <steve.reinhardt@amd.com>
Thu, 17 Mar 2016 17:29:32 +0000 (10:29 -0700)
committerSteve Reinhardt <steve.reinhardt@amd.com>
Thu, 17 Mar 2016 17:29:32 +0000 (10:29 -0700)
commitf6cd7a4bb7ee66b58f88fbdc6bdc4faa6a559952
tree7d579b1d984c0b3d7497780ff8ff1b96ab1f7aae
parent7eaa5952f994c07a801fbef81f8097a5e9a5828f
syscall_emul: move mmapGrowsDown() to LiveProcess

The mmapGrowsDown() method was a static method on the OperatingSystem
class (and derived classes), which worked OK for the templated syscall
emulation methods, but made it hard to access elsewhere.  This patch
moves the method to be a virtual function on the LiveProcess method,
where it can be overridden for specific platforms (for now, Alpha).

This patch also changes the value of mmapGrowsDown() from being false
by default and true only on X86Linux32 to being true by default and
false only on Alpha, which seems closer to reality (though in reality
most people use ASLR and this doesn't really matter anymore).

In the process, also got rid of the unused mmap_start field on
LiveProcess and OperatingSystem mmapGrowsUp variable.
13 files changed:
src/arch/alpha/process.cc
src/arch/alpha/process.hh
src/arch/arm/process.cc
src/arch/mips/process.cc
src/arch/power/process.cc
src/arch/sparc/process.hh
src/arch/x86/linux/linux.hh
src/arch/x86/process.cc
src/gpu-compute/shader.cc
src/kern/operatingsystem.hh
src/sim/process.cc
src/sim/process.hh
src/sim/syscall_emul.hh