riscv: Fix crashes with large or frequent mmaps
authorAlec Roelke <ar4jc@virginia.edu>
Thu, 30 Mar 2017 20:35:08 +0000 (16:35 -0400)
committerAlec Roelke <ar4jc@virginia.edu>
Tue, 11 Apr 2017 16:03:13 +0000 (16:03 +0000)
commitb17eeb2ae7a62e1f93ca295960a14c2e537bb3f1
treeff33a50997e8f1a37c6356f47097c7494544bbcf
parent3aada8ed5959f105fa51fbd815989e01f709b645
riscv: Fix crashes with large or frequent mmaps

This patch fixes a bug where increasing the mmap region too much causes
it to run into already-allocated memory, which causes gem5 to fail an
assertion.  Previously, the stack was incorrectly set up such that the
end of the mmap region and the top of the stack were the same address
and both would grow downward.  With this patch, the top of the stack has
been separated from the end of mmap and moved up, and the mmap region
now grows upward instead of downward.

[Rebase to master branch and remove dependencies.]

Change-Id: I7271ff478fff2994f918bc5003a6139b9ba6a520
Reviewed-on: https://gem5-review.googlesource.com/2680
Maintainer: Alec Roelke <ar4jc@virginia.edu>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
src/arch/riscv/process.cc
src/arch/riscv/process.hh