diff options
author | Alec Roelke <ar4jc@virginia.edu> | 2017-03-21 12:56:32 -0400 |
---|---|---|
committer | Alec Roelke <ar4jc@virginia.edu> | 2017-04-05 20:21:52 +0000 |
commit | 6b7d30688d44952fcbb98b3e0f2bfc5155f1f9a5 (patch) | |
tree | 5a14b4da7e50488675871f22ba7286ac267d3c5a /tests/test-progs | |
parent | 616d48a570296f3d6eb38e5ce5e6fe41facf1a29 (diff) | |
download | gem5-6b7d30688d44952fcbb98b3e0f2bfc5155f1f9a5.tar.xz |
riscv: fix compatibility with Linux toolchain
Previously, RISC-V in gem5 only supported RISC-V's Newlib toolchain
(riscv64-unknown-elf-*) due to incorrect assumptions made in the initial
setup of the user stack in SE mode. This patch fixes that by referring
to the RISC-V proxy kernel code (https://github.com/riscv/riscv-pk) and
setting up the stack according to how it does it. Now binaries compiled
using the Linux toolchain (riscv64-unknown-linux-gnu-*) will run as
well.
[Update for recent changes to MemState to add accessors and mutators to
get its members.]
Change-Id: I6d2c486df7688efe3df54273e9aa0fd686851285
Reviewed-on: https://gem5-review.googlesource.com/2305
Maintainer: Alec Roelke <ar4jc@virginia.edu>
Reviewed-by: Brandon Potter <Brandon.Potter@amd.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Diffstat (limited to 'tests/test-progs')
-rw-r--r-- | tests/test-progs/insttest/src/riscv/Makefile | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tests/test-progs/insttest/src/riscv/Makefile b/tests/test-progs/insttest/src/riscv/Makefile index 5aa8a7a3b..c493b40ce 100644 --- a/tests/test-progs/insttest/src/riscv/Makefile +++ b/tests/test-progs/insttest/src/riscv/Makefile @@ -26,7 +26,7 @@ # # Authors: Alec Roelke -CXX=riscv64-unknown-elf-g++ +CXX=riscv64-unknown-linux-gnu-g++ CFLAGS=--std=c++11 -O3 -static TARGETS=rv64i rv64m rv64a rv64f rv64d |