RISC-V: linux-user support for RVE ABI
commit5836c3eccedb6dfab16b8f606f2de24b8938b69c
authorKito Cheng <kito.cheng@gmail.com>
Sat, 16 Mar 2019 01:20:46 +0000 (16 01:20 +0000)
committerPalmer Dabbelt <palmer@sifive.com>
Tue, 19 Mar 2019 12:14:39 +0000 (19 05:14 -0700)
tree06b0788af46c10271d0d2781acb90a7a8cfebbcf
parentc02b78c7b4cecfe0a027abff8ecc3ec02e8b4a53
RISC-V: linux-user support for RVE ABI

This change checks elf_flags for EF_RISCV_RVE and if
present uses the RVE linux syscall ABI which uses t0
for the syscall number instead of a7.

Warn and exit if a non-RVE ABI binary is run on a
cpu with the RVE extension as it is incompatible.

Cc: Palmer Dabbelt <palmer@sifive.com>
Cc: Sagar Karandikar <sagark@eecs.berkeley.edu>
Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
Cc: Alistair Francis <Alistair.Francis@wdc.com>
Co-authored-by: Kito Cheng <kito.cheng@gmail.com>
Co-authored-by: Michael Clark <mjc@sifive.com>
Signed-off-by: Michael Clark <mjc@sifive.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
linux-user/riscv/cpu_loop.c
target/riscv/cpu.h
target/riscv/cpu_user.h