[PATCH v6 51/66] linux-user/ppc: Remove POWERPC_EXCP_ALIGN handling

Richard Henderson posted 66 patches 4 years, 3 months ago
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, "Philippe Mathieu-Daudé" <philmd@redhat.com>, Yoshinori Sato <ysato@users.sourceforge.jp>, Cornelia Huck <cohuck@redhat.com>, Eduardo Habkost <ehabkost@redhat.com>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Riku Voipio <riku.voipio@iki.fi>, Taylor Simpson <tsimpson@quicinc.com>, David Hildenbrand <david@redhat.com>, Laurent Vivier <laurent@vivier.eu>, Jiaxun Yang <jiaxun.yang@flygoat.com>, Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, "Philippe Mathieu-Daudé" <f4bug@amsat.org>, David Gibson <david@gibson.dropbear.id.au>, Thomas Huth <thuth@redhat.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Peter Maydell <peter.maydell@linaro.org>, Aurelien Jarno <aurelien@aurel32.net>, Artyom Tarasenko <atar4qemu@gmail.com>, Greg Kurz <groug@kaod.org>, Richard Henderson <richard.henderson@linaro.org>
There is a newer version of this series
[PATCH v6 51/66] linux-user/ppc: Remove POWERPC_EXCP_ALIGN handling
Posted by Richard Henderson 4 years, 3 months ago
We will raise SIGBUS directly from cpu_loop_exit_sigbus.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 linux-user/ppc/cpu_loop.c | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/linux-user/ppc/cpu_loop.c b/linux-user/ppc/cpu_loop.c
index 840b23736b..483e669300 100644
--- a/linux-user/ppc/cpu_loop.c
+++ b/linux-user/ppc/cpu_loop.c
@@ -162,14 +162,6 @@ void cpu_loop(CPUPPCState *env)
             cpu_abort(cs, "External interrupt while in user mode. "
                       "Aborting\n");
             break;
-        case POWERPC_EXCP_ALIGN:    /* Alignment exception                   */
-            /* XXX: check this */
-            info.si_signo = TARGET_SIGBUS;
-            info.si_errno = 0;
-            info.si_code = TARGET_BUS_ADRALN;
-            info._sifields._sigfault._addr = env->nip;
-            queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info);
-            break;
         case POWERPC_EXCP_PROGRAM:  /* Program exception                     */
         case POWERPC_EXCP_HV_EMU:   /* HV emulation                          */
             /* XXX: check this */
-- 
2.25.1


Re: [PATCH v6 51/66] linux-user/ppc: Remove POWERPC_EXCP_ALIGN handling
Posted by Philippe Mathieu-Daudé 4 years, 3 months ago
On 10/30/21 19:16, Richard Henderson wrote:
> We will raise SIGBUS directly from cpu_loop_exit_sigbus.
> 
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>  linux-user/ppc/cpu_loop.c | 8 --------
>  1 file changed, 8 deletions(-)
> 
> diff --git a/linux-user/ppc/cpu_loop.c b/linux-user/ppc/cpu_loop.c
> index 840b23736b..483e669300 100644
> --- a/linux-user/ppc/cpu_loop.c
> +++ b/linux-user/ppc/cpu_loop.c
> @@ -162,14 +162,6 @@ void cpu_loop(CPUPPCState *env)
>              cpu_abort(cs, "External interrupt while in user mode. "
>                        "Aborting\n");
>              break;
> -        case POWERPC_EXCP_ALIGN:    /* Alignment exception                   */
> -            /* XXX: check this */
> -            info.si_signo = TARGET_SIGBUS;
> -            info.si_errno = 0;
> -            info.si_code = TARGET_BUS_ADRALN;
> -            info._sifields._sigfault._addr = env->nip;
> -            queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info);
> -            break;
>          case POWERPC_EXCP_PROGRAM:  /* Program exception                     */
>          case POWERPC_EXCP_HV_EMU:   /* HV emulation                          */
>              /* XXX: check this */
> 

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>