qemu-patch-raspberry4/linux-user
Alex Bennée 4ff5ef9e91 target/arm: only update pc after semihosting completes
Before we introduce blocking semihosting calls we need to ensure we
can restart the system on semi hosting exception. To be able to do
this the EXCP_SEMIHOST operation should be idempotent until it finally
completes. Practically this means ensureing we only update the pc
after the semihosting call has completed.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Keith Packard <keithp@keithp.com>
Tested-by: Keith Packard <keithp@keithp.com>
2020-01-09 11:41:29 +00:00
..
aarch64 target/arm: only update pc after semihosting completes 2020-01-09 11:41:29 +00:00
alpha linux-user/alpha: Set r20 secondary return value 2019-11-06 13:45:05 +01:00
arm target/arm: only update pc after semihosting completes 2020-01-09 11:41:29 +00:00
cris linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
generic linux-user: Introduce TARGET_HAVE_ARCH_STRUCT_FLOCK 2019-07-02 16:56:46 +02:00
host linux-user: Add safe_syscall for riscv64 host 2018-12-26 06:40:02 +11:00
hppa linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
i386 linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
m68k linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
microblaze linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
mips linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
mips64 Supply missing header guards 2019-06-12 13:20:21 +02:00
nios2 linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
openrisc linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
ppc target/ppc: Implement the VTB for HV access 2019-12-17 10:39:48 +11:00
riscv linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
s390x linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
sh4 linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
sparc linux-user/sparc: Fix cpu_clone_regs_* 2019-11-06 13:44:19 +01:00
sparc64 Supply missing header guards 2019-06-12 13:20:21 +02:00
tilegx linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
x86_64 Supply missing header guards 2019-06-12 13:20:21 +02:00
xtensa linux-user: Introduce cpu_clone_regs_parent 2019-11-06 13:43:25 +01:00
cpu_loop-common.h cpu: Replace ENV_GET_CPU with env_cpu 2019-06-10 07:03:34 -07:00
elfload.c target/arm: Add support for DC CVAP & DC CVADP ins 2019-12-16 10:46:35 +00:00
errno_defs.h Supply missing header guards 2019-06-12 13:20:21 +02:00
exit.c *-user: notify plugin of exit 2019-10-28 15:12:38 +00:00
fd-trans.c Fix unsigned integer underflow in fd-trans.c 2019-10-21 11:34:18 +02:00
fd-trans.h linux-user: move TargetFdTrans functions to their own file 2018-09-25 22:36:47 +02:00
flat.h Supply missing header guards 2019-06-12 13:20:21 +02:00
flatload.c linux-user/flatload: fix initial stack pointer alignment 2018-10-30 11:23:32 -07:00
ioctls.h linux-user: Add support for FDRESET, FDRAWCMD, FDTWADDLE, and FDEJECT ioctls 2019-09-11 08:47:06 +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
main.c linux-user: log page table changes under -d page 2019-12-19 08:20:16 +00:00
Makefile.objs linux-user/m68k: remove simulator syscall interface 2019-06-26 17:14:41 +02:00
mmap.c linux-user: convert target_munmap debug to a tracepoint 2019-12-19 08:20:16 +00:00
qemu.h Include qemu/queue.h slightly less 2019-08-16 13:31:52 +02: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: Make sigaltstack stacks per-thread 2019-07-26 19:24:33 +02:00
signal.c linux-user: Make sigaltstack stacks per-thread 2019-07-26 19:24:33 +02:00
socket.h Supply missing header guards 2019-06-12 13:20:21 +02:00
strace.c linux-user/strace: Let print_sockaddr() have a 'last' argument 2019-10-21 15:37:04 +02:00
strace.list linux-user/strace: Improve bind() output 2019-10-21 15:37:04 +02:00
syscall.c linux-user: fix translation of statx structures 2019-11-25 12:57:58 +01:00
syscall_defs.h linux-user/syscall: Align target_sockaddr fields using ABI types 2019-10-21 15:37:04 +02:00
syscall_types.h linux-user: fix to handle variably sized SIOCGSTAMP with new kernels 2019-07-19 09:33:55 +02:00
target_flat.h Supply missing header guards 2019-06-12 13:20:21 +02:00
trace-events linux-user: convert target_munmap debug to a tracepoint 2019-12-19 08:20:16 +00:00
uaccess.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
uname.c cpu: Replace ENV_GET_CPU with env_cpu 2019-06-10 07:03:34 -07:00
uname.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
vm86.c target/i386: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00