]> git.proxmox.com Git - mirror_qemu.git/commitdiff
Fix breakpoint support in Nios II user-mode emulation.
authorSandra Loosemore <sandra@codesourcery.com>
Wed, 13 Feb 2019 16:50:26 +0000 (09:50 -0700)
committerLaurent Vivier <laurent@vivier.eu>
Thu, 7 Mar 2019 09:57:29 +0000 (10:57 +0100)
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>
linux-user/nios2/cpu_loop.c

index b96b1aa1195aa86a867991c937b2b5cce2fd46ea..5aa1eca740deda9e1fe46da22f98f22d8e88ecdb 100644 (file)
@@ -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 */