[PATCH master] ARM: semihosting: use svc instead of incorrect bkpt in DEBUG_LL
Ahmad Fatoum
a.fatoum at pengutronix.de
Thu Aug 22 04:56:30 PDT 2024
The semihosting DEBUG_LL support was tested on ARM64. Trying it out on
ARM32 leads to a hanging system, because the DEBUG_LL handler used the
wrong instruction (breakpoint) instead of what the normal semihosting
implementation uses (supervisor call).
Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
arch/arm/include/asm/semihosting.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/include/asm/semihosting.h b/arch/arm/include/asm/semihosting.h
index 2219e858d040..bdfe472eedc0 100644
--- a/arch/arm/include/asm/semihosting.h
+++ b/arch/arm/include/asm/semihosting.h
@@ -27,8 +27,8 @@ static inline void semihosting_putc(void *unused, int c)
"push {%0}\n"
"mov r1, sp\n"
"mov r0, #0x03\n"
- ARM( "bkpt #0x123456\n")
- THUMB( "bkpt #0xAB\n")
+ ARM( "svc #0x123456\n")
+ THUMB( "svc #0xAB\n")
"pop {%0}\n"
: /* No outputs */
: "r" (c)
--
2.39.2
More information about the barebox
mailing list