[PATCH 1/3] target/ppc: Fix MPCxxx FPU interrupt address

Fabiano Rosas posted 3 patches 4 years, 2 months ago
Maintainers: "Cédric Le Goater" <clg@kaod.org>, Greg Kurz <groug@kaod.org>, David Gibson <david@gibson.dropbear.id.au>, Daniel Henrique Barboza <danielhb413@gmail.com>
[PATCH 1/3] target/ppc: Fix MPCxxx FPU interrupt address
Posted by Fabiano Rosas 4 years, 2 months ago
The Floating-point Unavailable and Decrementer interrupts are being
registered at the same 0x900 address. The FPU should be at 0x800
instead.

Verified on MPC555, MPC860 and MPC885 user manuals.

Reported-by: BALATON Zoltan <balaton@eik.bme.hu>
Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com>
---
 target/ppc/cpu_init.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/target/ppc/cpu_init.c b/target/ppc/cpu_init.c
index 6695985e9b..55af48769a 100644
--- a/target/ppc/cpu_init.c
+++ b/target/ppc/cpu_init.c
@@ -2180,7 +2180,7 @@ static void init_excp_MPC5xx(CPUPPCState *env)
     env->excp_vectors[POWERPC_EXCP_EXTERNAL] = 0x00000500;
     env->excp_vectors[POWERPC_EXCP_ALIGN]    = 0x00000600;
     env->excp_vectors[POWERPC_EXCP_PROGRAM]  = 0x00000700;
-    env->excp_vectors[POWERPC_EXCP_FPU]      = 0x00000900;
+    env->excp_vectors[POWERPC_EXCP_FPU]      = 0x00000800;
     env->excp_vectors[POWERPC_EXCP_DECR]     = 0x00000900;
     env->excp_vectors[POWERPC_EXCP_SYSCALL]  = 0x00000C00;
     env->excp_vectors[POWERPC_EXCP_TRACE]    = 0x00000D00;
@@ -2207,7 +2207,7 @@ static void init_excp_MPC8xx(CPUPPCState *env)
     env->excp_vectors[POWERPC_EXCP_EXTERNAL] = 0x00000500;
     env->excp_vectors[POWERPC_EXCP_ALIGN]    = 0x00000600;
     env->excp_vectors[POWERPC_EXCP_PROGRAM]  = 0x00000700;
-    env->excp_vectors[POWERPC_EXCP_FPU]      = 0x00000900;
+    env->excp_vectors[POWERPC_EXCP_FPU]      = 0x00000800;
     env->excp_vectors[POWERPC_EXCP_DECR]     = 0x00000900;
     env->excp_vectors[POWERPC_EXCP_SYSCALL]  = 0x00000C00;
     env->excp_vectors[POWERPC_EXCP_TRACE]    = 0x00000D00;
-- 
2.33.1


Re: [PATCH 1/3] target/ppc: Fix MPCxxx FPU interrupt address
Posted by Cédric Le Goater 4 years, 1 month ago
On 12/8/21 13:30, Fabiano Rosas wrote:
> The Floating-point Unavailable and Decrementer interrupts are being
> registered at the same 0x900 address. The FPU should be at 0x800
> instead.
> 
> Verified on MPC555, MPC860 and MPC885 user manuals.
> 
> Reported-by: BALATON Zoltan <balaton@eik.bme.hu>
> Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com>



Applied to ppc-next.

Thanks,

C.

Re: [PATCH 1/3] target/ppc: Fix MPCxxx FPU interrupt address
Posted by Cédric Le Goater 4 years, 2 months ago
On 12/8/21 13:30, Fabiano Rosas wrote:
> The Floating-point Unavailable and Decrementer interrupts are being
> registered at the same 0x900 address. The FPU should be at 0x800
> instead.
> 
> Verified on MPC555, MPC860 and MPC885 user manuals.
> 
> Reported-by: BALATON Zoltan <balaton@eik.bme.hu>
> Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com>

Reviewed-by: Cédric Le Goater <clg@kaod.org>

Thanks,

C.

> ---
>   target/ppc/cpu_init.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/target/ppc/cpu_init.c b/target/ppc/cpu_init.c
> index 6695985e9b..55af48769a 100644
> --- a/target/ppc/cpu_init.c
> +++ b/target/ppc/cpu_init.c
> @@ -2180,7 +2180,7 @@ static void init_excp_MPC5xx(CPUPPCState *env)
>       env->excp_vectors[POWERPC_EXCP_EXTERNAL] = 0x00000500;
>       env->excp_vectors[POWERPC_EXCP_ALIGN]    = 0x00000600;
>       env->excp_vectors[POWERPC_EXCP_PROGRAM]  = 0x00000700;
> -    env->excp_vectors[POWERPC_EXCP_FPU]      = 0x00000900;
> +    env->excp_vectors[POWERPC_EXCP_FPU]      = 0x00000800;
>       env->excp_vectors[POWERPC_EXCP_DECR]     = 0x00000900;
>       env->excp_vectors[POWERPC_EXCP_SYSCALL]  = 0x00000C00;
>       env->excp_vectors[POWERPC_EXCP_TRACE]    = 0x00000D00;
> @@ -2207,7 +2207,7 @@ static void init_excp_MPC8xx(CPUPPCState *env)
>       env->excp_vectors[POWERPC_EXCP_EXTERNAL] = 0x00000500;
>       env->excp_vectors[POWERPC_EXCP_ALIGN]    = 0x00000600;
>       env->excp_vectors[POWERPC_EXCP_PROGRAM]  = 0x00000700;
> -    env->excp_vectors[POWERPC_EXCP_FPU]      = 0x00000900;
> +    env->excp_vectors[POWERPC_EXCP_FPU]      = 0x00000800;
>       env->excp_vectors[POWERPC_EXCP_DECR]     = 0x00000900;
>       env->excp_vectors[POWERPC_EXCP_SYSCALL]  = 0x00000C00;
>       env->excp_vectors[POWERPC_EXCP_TRACE]    = 0x00000D00;
>