diff options
author | Sandra Loosemore | 2019-02-13 17:50:26 +0100 |
---|---|---|
committer | Laurent Vivier | 2019-03-07 10:57:29 +0100 |
commit | 14c8a3a157b437e54fbe097d991dca86ac828a14 (patch) | |
tree | 2bd52da79dec7adcb1e76eac8c4b3165b49b9dc7 /linux-user | |
parent | linux-user: fix emulation of accept4/getpeername/getsockname/recvfrom syscalls (diff) | |
download | qemu-14c8a3a157b437e54fbe097d991dca86ac828a14.tar.gz qemu-14c8a3a157b437e54fbe097d991dca86ac828a14.tar.xz qemu-14c8a3a157b437e54fbe097d991dca86ac828a14.zip |
Fix breakpoint support in Nios II user-mode emulation.
Nios II user-mode emulation was missing handling for EXCP_DEBUG,
making the gdb stub essentially useless. This patch adds the missing
piece. The new code was copied from the existing EXCP_TRAP handling
and is also similar to what other targets (e.g., arm) do with EXCP_DEBUG.
Signed-off-by: Sandra Loosemore <sandra@codesourcery.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <1550076626-7202-1-git-send-email-sandra@codesourcery.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Diffstat (limited to 'linux-user')
-rw-r--r-- | linux-user/nios2/cpu_loop.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/linux-user/nios2/cpu_loop.c b/linux-user/nios2/cpu_loop.c index b96b1aa119..5aa1eca740 100644 --- a/linux-user/nios2/cpu_loop.c +++ b/linux-user/nios2/cpu_loop.c @@ -73,6 +73,12 @@ void cpu_loop(CPUNios2State *env) queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); break; } + case EXCP_DEBUG: + info.si_signo = TARGET_SIGTRAP; + info.si_errno = 0; + info.si_code = TARGET_TRAP_BRKPT; + queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + break; case 0xaa: switch (env->regs[R_PC]) { /*case 0x1000:*/ /* TODO:__kuser_helper_version */ |