summary refs log tree commit diff stats
path: root/linux-user/nios2/cpu_loop.c
diff options
context:
space:
mode:
authorSandra Loosemore <sandra@codesourcery.com>2019-02-13 09:50:26 -0700
committerLaurent Vivier <laurent@vivier.eu>2019-03-07 10:57:29 +0100
commit14c8a3a157b437e54fbe097d991dca86ac828a14 (patch)
tree2bd52da79dec7adcb1e76eac8c4b3165b49b9dc7 /linux-user/nios2/cpu_loop.c
parentcd8133679f7e0e2c292f631f1c78b2452d2435c7 (diff)
downloadfocaccia-qemu-14c8a3a157b437e54fbe097d991dca86ac828a14.tar.gz
focaccia-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/nios2/cpu_loop.c')
-rw-r--r--linux-user/nios2/cpu_loop.c6
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 */