From aedf82322455b5202384f201d4b241c224cff2bb Mon Sep 17 00:00:00 2001 From: Huang Qi Date: Thu, 25 Mar 2021 11:15:19 +0800 Subject: [PATCH] arch/arm: Use macro defined swi range in dispatch_syscall Signed-off-by: Huang Qi Change-Id: Ia8503a13c5b04fa8cc13cee74b75b19623986c1d --- arch/arm/src/armv6-m/arm_svcall.c | 2 +- arch/arm/src/armv7-a/arm_syscall.c | 2 +- arch/arm/src/armv7-m/arm_svcall.c | 2 +- arch/arm/src/armv7-r/arm_syscall.c | 2 +- arch/arm/src/armv8-m/arm_svcall.c | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/arch/arm/src/armv6-m/arm_svcall.c b/arch/arm/src/armv6-m/arm_svcall.c index e61f83ab92d..e86f3fe0654 100644 --- a/arch/arm/src/armv6-m/arm_svcall.c +++ b/arch/arm/src/armv6-m/arm_svcall.c @@ -100,7 +100,7 @@ static void dispatch_syscall(void) " pop {r4, r5}\n" /* Recover R4 and R5 */ " mov r2, r0\n" /* R2=Save return value in R2 */ " mov r0, #3\n" /* R0=SYS_syscall_return */ - " svc 0" /* Return from the syscall */ + " svc %0\n"::"i"(SYS_syscall) /* Return from the SYSCALL */ ); } #endif diff --git a/arch/arm/src/armv7-a/arm_syscall.c b/arch/arm/src/armv7-a/arm_syscall.c index 9888888ef19..c59ca617569 100644 --- a/arch/arm/src/armv7-a/arm_syscall.c +++ b/arch/arm/src/armv7-a/arm_syscall.c @@ -97,7 +97,7 @@ static void dispatch_syscall(void) " add sp, sp, #16\n" /* Destroy the stack frame */ " mov r2, r0\n" /* R2=Save return value in R2 */ " mov r0, #0\n" /* R0=SYS_syscall_return */ - " svc #0x900001\n" /* Return from the SYSCALL */ + " svc %0\n"::"i"(SYS_syscall) /* Return from the SYSCALL */ ); } #endif diff --git a/arch/arm/src/armv7-m/arm_svcall.c b/arch/arm/src/armv7-m/arm_svcall.c index 22fadb0a60d..e4c749fcb9e 100644 --- a/arch/arm/src/armv7-m/arm_svcall.c +++ b/arch/arm/src/armv7-m/arm_svcall.c @@ -108,7 +108,7 @@ static void dispatch_syscall(void) " add sp, sp, r2\n" /* Restore SP */ " mov r2, r0\n" /* R2=Save return value in R2 */ " mov r0, #3\n" /* R0=SYS_syscall_return */ - " svc 0" /* Return from the syscall */ + " svc %0\n"::"i"(SYS_syscall) /* Return from the SYSCALL */ ); } #endif diff --git a/arch/arm/src/armv7-r/arm_syscall.c b/arch/arm/src/armv7-r/arm_syscall.c index fba7fb7b09d..aacd9677173 100644 --- a/arch/arm/src/armv7-r/arm_syscall.c +++ b/arch/arm/src/armv7-r/arm_syscall.c @@ -95,7 +95,7 @@ static void dispatch_syscall(void) " add sp, sp, #16\n" /* Destroy the stack frame */ " mov r2, r0\n" /* R2=Save return value in R2 */ " mov r0, #0\n" /* R0=SYS_syscall_return */ - " svc #0x900001\n" /* Return from the SYSCALL */ + " svc %0\n"::"i"(SYS_syscall) /* Return from the SYSCALL */ ); } #endif diff --git a/arch/arm/src/armv8-m/arm_svcall.c b/arch/arm/src/armv8-m/arm_svcall.c index 2da6156da73..7294fb810f4 100644 --- a/arch/arm/src/armv8-m/arm_svcall.c +++ b/arch/arm/src/armv8-m/arm_svcall.c @@ -107,7 +107,7 @@ static void dispatch_syscall(void) " add sp, sp, r2\n" /* Restore SP */ " mov r2, r0\n" /* R2=Save return value in R2 */ " mov r0, #3\n" /* R0=SYS_syscall_return */ - " svc 0" /* Return from the syscall */ + " svc %0\n"::"i"(SYS_syscall) /* Return from the SYSCALL */ ); } #endif