Thread (4 messages) 4 messages, 2 authors, 2023-10-15

Re: [PATCH] powerpc/85xx: Fix math emulation exception

From: Christophe Leroy <hidden>
Date: 2023-10-10 10:56:06
Also in: lkml


Le 10/10/2023 à 12:45, Michael Ellerman a écrit :
Christophe Leroy [off-list ref] writes:
quoted
Booting mpc85xx_defconfig kernel on QEMU leads to:
What machine/CPU model are you using for that?
If I remember correctly, it was machine mpc8544ds.

Christophe
I tried ppce500/e500 and that is working OK for me, ie. boots to
userspace and I see math instructions being emulated via the emulated
stats.

cheers
quoted
Bad trap at PC: fe9bab0, SR: 2d000, vector=800
awk[82]: unhandled trap (5) at 0 nip fe9bab0 lr fe9e01c code 5 in libc-2.27.so[fe5a000+17a000]
awk[82]: code: 3aa00000 3a800010 4bffe03c 9421fff0 7ca62b78 38a00000 93c10008 83c10008
awk[82]: code: 38210010 4bffdec8 9421ffc0 7c0802a6 <fc00048e> d8010008 4815190d 93810030
Trace/breakpoint trap
WARNING: no useful console

This is because allthough CONFIG_MATH_EMULATION is selected,
Exception 800 calls unknown_exception().

Call emulation_assist_interrupt() instead.

Signed-off-by: Christophe Leroy <redacted>
---
  arch/powerpc/kernel/head_85xx.S | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/kernel/head_85xx.S b/arch/powerpc/kernel/head_85xx.S
index 97e9ea0c7297..0f1641a31250 100644
--- a/arch/powerpc/kernel/head_85xx.S
+++ b/arch/powerpc/kernel/head_85xx.S
@@ -395,7 +395,7 @@ interrupt_base:
  #ifdef CONFIG_PPC_FPU
  	FP_UNAVAILABLE_EXCEPTION
  #else
-	EXCEPTION(0x0800, FP_UNAVAIL, FloatingPointUnavailable, unknown_exception)
+	EXCEPTION(0x0800, FP_UNAVAIL, FloatingPointUnavailable, emulation_assist_interrupt)
  #endif
  
  	/* System Call Interrupt */
-- 
2.41.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help