From 2e2af6e3d7df14b2b2a668d24e4331a9469426a6 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 ca0cb09180a..b7be60b3132 100644 --- a/arch/arm/src/armv7-a/arm_syscall.c +++ b/arch/arm/src/armv7-a/arm_syscall.c @@ -98,7 +98,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 380a66a61a6..e9192dd436f 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 ec03ce0cfe8..dd3c9df2c26 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