diff mbox series

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

Message ID 20211208123029.2052625-2-farosas@linux.ibm.com (mailing list archive)
State New, archived
Headers show
Series target/ppc: Minor fixes to exception code | expand

Commit Message

Fabiano Rosas Dec. 8, 2021, 12:30 p.m. UTC
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(-)

Comments

Cédric Le Goater Dec. 9, 2021, 7:57 a.m. UTC | #1
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;
>
Cédric Le Goater Dec. 15, 2021, 4:47 p.m. UTC | #2
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.
diff mbox series

Patch

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;