From b60b6120dedf8bf4f01512bbb670dfc1c50af556 Mon Sep 17 00:00:00 2001 From: Masayuki Ishikawa Date: Wed, 16 Feb 2022 16:26:36 +0900 Subject: [PATCH] arch: armv7-a: Fix arm_syscall for SYS_pthread_start Summary: - I noticed that pthread always crashes when started if CONFIG_BUILD_KERNEL=y - This commit fixes this issue Impact: - None Testing: - Tested with sabre-6quad:netknsh (not merged yet) Signed-off-by: Masayuki Ishikawa --- arch/arm/src/armv7-a/arm_syscall.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/arm/src/armv7-a/arm_syscall.c b/arch/arm/src/armv7-a/arm_syscall.c index 5e61aa456b7..9d2ddf4a1c2 100644 --- a/arch/arm/src/armv7-a/arm_syscall.c +++ b/arch/arm/src/armv7-a/arm_syscall.c @@ -302,9 +302,9 @@ uint32_t *arm_syscall(uint32_t *regs) * CSPR = user mode */ - regs[REG_PC] = regs[REG_R0]; - regs[REG_R0] = regs[REG_R1]; - regs[REG_R1] = regs[REG_R2]; + regs[REG_PC] = regs[REG_R1]; + regs[REG_R0] = regs[REG_R2]; + regs[REG_R1] = regs[REG_R3]; cpsr = regs[REG_CPSR] & ~PSR_MODE_MASK; regs[REG_CPSR] = cpsr | PSR_MODE_USR;