qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] Fix breakpoint support in Nios II user-mode emulation.
@ 2019-02-13 16:50 Sandra Loosemore
  2019-02-13 20:46 ` Laurent Vivier
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Sandra Loosemore @ 2019-02-13 16:50 UTC (permalink / raw)
  To: qemu-devel; +Cc: riku.voipio, laurent

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>
---
 linux-user/nios2/cpu_loop.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/linux-user/nios2/cpu_loop.c b/linux-user/nios2/cpu_loop.c
index b96b1aa..5aa1eca 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 */
-- 
2.8.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH] Fix breakpoint support in Nios II user-mode emulation.
  2019-02-13 16:50 [Qemu-devel] [PATCH] Fix breakpoint support in Nios II user-mode emulation Sandra Loosemore
@ 2019-02-13 20:46 ` Laurent Vivier
  2019-02-25  5:05   ` [Qemu-devel] [ping] " Sandra Loosemore
  2019-02-25  9:10 ` [Qemu-devel] " Peter Maydell
  2019-02-25 10:14 ` Laurent Vivier
  2 siblings, 1 reply; 5+ messages in thread
From: Laurent Vivier @ 2019-02-13 20:46 UTC (permalink / raw)
  To: Sandra Loosemore, qemu-devel; +Cc: riku.voipio, Chris Wulff, Marek Vasut

CC'ing NiosII Maintainers

On 13/02/2019 17:50, Sandra Loosemore wrote:
> 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>
> ---
>  linux-user/nios2/cpu_loop.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/linux-user/nios2/cpu_loop.c b/linux-user/nios2/cpu_loop.c
> index b96b1aa..5aa1eca 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 */
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Qemu-devel] [ping] [PATCH] Fix breakpoint support in Nios II user-mode emulation.
  2019-02-13 20:46 ` Laurent Vivier
@ 2019-02-25  5:05   ` Sandra Loosemore
  0 siblings, 0 replies; 5+ messages in thread
From: Sandra Loosemore @ 2019-02-25  5:05 UTC (permalink / raw)
  To: Laurent Vivier, qemu-devel; +Cc: riku.voipio, Chris Wulff, Marek Vasut

Ping?

http://lists.nongnu.org/archive/html/qemu-devel/2019-02/msg03483.html

-Sandra

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH] Fix breakpoint support in Nios II user-mode emulation.
  2019-02-13 16:50 [Qemu-devel] [PATCH] Fix breakpoint support in Nios II user-mode emulation Sandra Loosemore
  2019-02-13 20:46 ` Laurent Vivier
@ 2019-02-25  9:10 ` Peter Maydell
  2019-02-25 10:14 ` Laurent Vivier
  2 siblings, 0 replies; 5+ messages in thread
From: Peter Maydell @ 2019-02-25  9:10 UTC (permalink / raw)
  To: Sandra Loosemore; +Cc: QEMU Developers, Riku Voipio, Laurent Vivier

On Wed, 13 Feb 2019 at 17:19, Sandra Loosemore <sandra@codesourcery.com> wrote:
>
> 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>
> ---
>  linux-user/nios2/cpu_loop.c | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/linux-user/nios2/cpu_loop.c b/linux-user/nios2/cpu_loop.c
> index b96b1aa..5aa1eca 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 */

I don't know NiosII at all, but a quick check of the kernel
sources suggests this is correct, so

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

thanks
-- PMM

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH] Fix breakpoint support in Nios II user-mode emulation.
  2019-02-13 16:50 [Qemu-devel] [PATCH] Fix breakpoint support in Nios II user-mode emulation Sandra Loosemore
  2019-02-13 20:46 ` Laurent Vivier
  2019-02-25  9:10 ` [Qemu-devel] " Peter Maydell
@ 2019-02-25 10:14 ` Laurent Vivier
  2 siblings, 0 replies; 5+ messages in thread
From: Laurent Vivier @ 2019-02-25 10:14 UTC (permalink / raw)
  To: Sandra Loosemore, qemu-devel; +Cc: riku.voipio

On 13/02/2019 17:50, Sandra Loosemore wrote:
> 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>
> ---
>   linux-user/nios2/cpu_loop.c | 6 ++++++
>   1 file changed, 6 insertions(+)
> 
> diff --git a/linux-user/nios2/cpu_loop.c b/linux-user/nios2/cpu_loop.c
> index b96b1aa..5aa1eca 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 */
> 

Applied to my linux-user branch.

Thanks,
Laurent

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-02-25 10:15 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-13 16:50 [Qemu-devel] [PATCH] Fix breakpoint support in Nios II user-mode emulation Sandra Loosemore
2019-02-13 20:46 ` Laurent Vivier
2019-02-25  5:05   ` [Qemu-devel] [ping] " Sandra Loosemore
2019-02-25  9:10 ` [Qemu-devel] " Peter Maydell
2019-02-25 10:14 ` Laurent Vivier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).