* [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).