qemu-e2k/linux-user
Kito Cheng 5836c3ecce
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>
2019-03-19 05:14:39 -07:00
..
aarch64 linux-user: Implement PR_PAC_RESET_KEYS 2019-02-05 16:52:39 +00:00
alpha linux-user: Don't call gdb_handlesig() before queue_signal() 2018-11-12 15:48:00 +01:00
arm linux-user: Don't call gdb_handlesig() before queue_signal() 2018-11-12 15:48:00 +01:00
cris linux-user: Don't call gdb_handlesig() before queue_signal() 2018-11-12 15:48:00 +01:00
generic linux-user: move generic signal definitions to generic/signal.h 2018-06-04 01:30:44 +02:00
host linux-user: Add safe_syscall for riscv64 host 2018-12-26 06:40:02 +11:00
hppa linux-user: Don't call gdb_handlesig() before queue_signal() 2018-11-12 15:48:00 +01:00
i386 linux-user: Don't call gdb_handlesig() before queue_signal() 2018-11-12 15:48:00 +01:00
m68k target/m68k: Fix LGPL information in the file headers 2019-01-30 14:20:13 +01:00
microblaze linux-user: Don't call gdb_handlesig() before queue_signal() 2018-11-12 15:48:00 +01:00
mips target/mips: reimplement SC instruction emulation and use cmpxchg 2019-02-14 17:47:28 +01:00
mips64 linux-user: Add prctl() PR_SET_FP_MODE and PR_GET_FP_MODE implementations 2018-10-29 15:50:31 +01:00
nios2 Fix breakpoint support in Nios II user-mode emulation. 2019-03-07 10:57:29 +01:00
openrisc linux-user: Don't call gdb_handlesig() before queue_signal() 2018-11-12 15:48:00 +01:00
ppc target/ppc: move FP and VMX registers into aligned vsr register array 2019-01-09 09:28:14 +11:00
riscv RISC-V: linux-user support for RVE ABI 2019-03-19 05:14:39 -07:00
s390x s390x: Fix the confusing contributions-after-2012 license statements 2019-02-18 11:25:43 +01:00
sh4 linux-user: Don't call gdb_handlesig() before queue_signal() 2018-11-12 15:48:00 +01:00
sparc linux-user/sparc/signal.c: Remove dead code 2018-11-15 13:06:40 +00:00
sparc64 linux-user/sparc64: Add inotify_rm_watch and tee syscalls 2018-06-11 14:47:45 +02:00
tilegx linux-user: move generic signal definitions to generic/signal.h 2018-06-04 01:30:44 +02:00
x86_64 remove space-tab sequences 2019-01-11 15:46:55 +01:00
xtensa linux-user: Don't call gdb_handlesig() before queue_signal() 2018-11-12 15:48:00 +01:00
cpu_loop-common.h linux-user: create a dummy per arch cpu_loop.c 2018-04-30 09:47:55 +02:00
elfload.c linux-user: Fix ELF_PLATFORM for aarch64_be-linux-user 2019-03-07 10:57:29 +01:00
errno_defs.h linux-user: Handle ERFKILL and EHWPOISON 2017-01-22 18:14:10 -08:00
exit.c linux-user: add gcov support to preexit_cleanup 2018-07-05 15:59:41 +01:00
fd-trans.c linux-user: add new netlink types 2019-03-07 11:02:33 +01:00
fd-trans.h linux-user: move TargetFdTrans functions to their own file 2018-09-25 22:36:47 +02:00
flat.h
flatload.c linux-user/flatload: fix initial stack pointer alignment 2018-10-30 11:23:32 -07:00
ioctls.h linux-user: Implement special usbfs ioctls. 2018-10-19 14:05:10 +02:00
linux_loop.h linux-user: Add loop control ioctls 2016-07-19 15:22:33 +03:00
linuxload.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
m68k-sim.c linux-user: Clean up includes 2016-01-29 15:07:22 +00:00
main.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
Makefile.objs linux-user: move TargetFdTrans functions to their own file 2018-09-25 22:36:47 +02:00
mmap.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
qemu.h linux-user: Fix compilation with clang 3.4 2019-01-22 06:26:31 +01:00
safe-syscall.S linux-user: Provide safe_syscall for fixing races between signals and syscalls 2016-05-27 14:49:51 +03:00
signal-common.h linux-user: introduce target_sigsp() and target_save_altstack() 2018-05-03 18:29:15 +02:00
signal.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
socket.h linux-user: update ARCH_HAS_SOCKET_TYPES use 2018-05-25 10:10:55 +02:00
strace.c linux-user: Nicer strace output of chroot() syscall 2019-03-07 10:57:29 +01:00
strace.list linux-user: Nicer strace output of chroot() syscall 2019-03-07 10:57:29 +01:00
syscall_defs.h remove space-tab sequences 2019-01-11 15:46:55 +01:00
syscall_types.h linux-user: Implement special usbfs ioctls. 2018-10-19 14:05:10 +02:00
syscall.c linux-user: fix "may be used uninitialized" warnings 2019-03-07 10:57:29 +01:00
target_flat.h linux-user/FLAT: allow targets to override FLAT processing 2011-02-09 10:33:54 +02:00
trace-events trace-events: fix code style: print 0x before hex numbers 2017-08-01 12:13:07 +01:00
uaccess.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
uname.c linux-user: Clean up includes 2016-01-29 15:07:22 +00:00
uname.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
vm86.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00