qemu/linux-user/riscv
Giuseppe Musacchio 2921343b3d
linux-user/riscv: Propagate fault address
The CPU loop tagged all the queued signals as QEMU_SI_KILL while it was
filling the `_sigfault` part of `siginfo`: this caused QEMU to copy the
wrong fields over to the userspace program.

Make sure the fault address recorded by the MMU is is stored in the CPU
environment structure.

In case of memory faults store the exception address into `siginfo`.

Signed-off-by: Giuseppe Musacchio <thatlemon@gmail.com>
Reviewed-by: Palmer Dabbelt <palmer@sifive.com>
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
2019-10-28 07:47:27 -07:00
..
cpu_loop.c linux-user/riscv: Propagate fault address 2019-10-28 07:47:27 -07:00
signal.c RISC-V: Use riscv prefix consistently on cpu helpers 2019-02-11 15:56:21 -08:00
sockbits.h linux-user: move socket.h generic definitions to generic/sockbits.h 2018-05-25 10:10:55 +02:00
syscall_nr.h RISC-V: Update syscall list for 32-bit support. 2019-06-25 22:37:08 -07:00
target_cpu.h linux-user/nios2 linux-user/riscv: Clean up header guards 2019-05-13 08:58:55 +02:00
target_elf.h linux-user/riscv: Add the CPU type as a comment 2019-05-24 12:09:23 -07:00
target_fcntl.h linux-user: move generic fcntl definitions to generic/fcntl.h 2018-06-04 01:30:43 +02:00
target_signal.h linux-user/nios2 linux-user/riscv: Clean up header guards 2019-05-13 08:58:55 +02:00
target_structs.h linux-user/nios2 linux-user/riscv: Clean up header guards 2019-05-13 08:58:55 +02:00
target_syscall.h Supply missing header guards 2019-06-12 13:20:21 +02:00
termbits.h Supply missing header guards 2019-06-12 13:20:21 +02:00