This is an automated email from the ASF dual-hosted git repository.

archer pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 087b9e5ff327f7992065cfe01c4cb11b675b7eae
Author: Xiang Xiao <[email protected]>
AuthorDate: Fri Feb 25 02:46:21 2022 +0800

    arch: Move the content from svcall.h to syscall.h
    
    and remove svcall.h
    
    Signed-off-by: Xiang Xiao <[email protected]>
---
 arch/arm/include/syscall.h                        |  94 ++++++++++++++-
 arch/arm/src/arm/arm_fullcontextrestore.S         |   2 +-
 arch/arm/src/arm/arm_syscall.c                    |   2 +-
 arch/arm/src/arm/svcall.h                         | 127 --------------------
 arch/arm/src/armv6-m/arm_fullcontextrestore.S     |   2 +-
 arch/arm/src/armv6-m/arm_saveusercontext.S        |   2 +-
 arch/arm/src/armv6-m/arm_signal_dispatch.c        |   3 +-
 arch/arm/src/armv6-m/arm_signal_handler.S         |   2 +-
 arch/arm/src/armv6-m/arm_svcall.c                 |   2 +-
 arch/arm/src/armv6-m/svcall.h                     | 136 ----------------------
 arch/arm/src/armv7-a/arm_fullcontextrestore.S     |   2 +-
 arch/arm/src/armv7-a/arm_signal_dispatch.c        |   3 +-
 arch/arm/src/armv7-a/arm_syscall.c                |   2 +-
 arch/arm/src/armv7-a/crt0.c                       |   4 +-
 arch/arm/src/armv7-a/svcall.h                     | 127 --------------------
 arch/arm/src/armv7-m/arm_signal_dispatch.c        |   3 +-
 arch/arm/src/armv7-m/arm_svcall.c                 |   2 +-
 arch/arm/src/armv7-m/gnu/arm_fullcontextrestore.S |   2 +-
 arch/arm/src/armv7-m/gnu/arm_saveusercontext.S    |   2 +-
 arch/arm/src/armv7-m/gnu/arm_signal_handler.S     |   2 +-
 arch/arm/src/armv7-m/iar/arm_fullcontextrestore.S |   2 +-
 arch/arm/src/armv7-m/iar/arm_saveusercontext.S    |   2 +-
 arch/arm/src/armv7-m/svcall.h                     | 136 ----------------------
 arch/arm/src/armv7-r/arm_fullcontextrestore.S     |   3 +-
 arch/arm/src/armv7-r/arm_signal_dispatch.c        |   3 +-
 arch/arm/src/armv7-r/arm_signal_handler.S         |   2 +-
 arch/arm/src/armv7-r/arm_syscall.c                |   2 +-
 arch/arm/src/armv7-r/svcall.h                     | 128 --------------------
 arch/arm/src/armv8-m/arm_fullcontextrestore.S     |   2 +-
 arch/arm/src/armv8-m/arm_saveusercontext.S        |   2 +-
 arch/arm/src/armv8-m/arm_signal_dispatch.c        |   3 +-
 arch/arm/src/armv8-m/arm_signal_handler.S         |   2 +-
 arch/arm/src/armv8-m/arm_svcall.c                 |   2 +-
 arch/arm/src/armv8-m/svcall.h                     | 135 ---------------------
 arch/arm/src/common/arm_pthread_start.c           |   3 +-
 arch/arm/src/common/arm_switchcontext.c           |   3 +-
 arch/arm/src/common/arm_task_start.c              |   3 +-
 arch/ceva/include/syscall.h                       |  90 ++++++++++++++
 arch/ceva/src/common/svcall.h                     | 130 ---------------------
 arch/ceva/src/common/up_fullcontextrestore.c      |   3 +-
 arch/ceva/src/common/up_pthread_start.c           |   2 +-
 arch/ceva/src/common/up_saveusercontext.c         |   3 +-
 arch/ceva/src/common/up_signal_dispatch.c         |   2 +-
 arch/ceva/src/common/up_svcall.c                  |   2 +-
 arch/ceva/src/common/up_switchcontext.c           |   3 +-
 arch/ceva/src/common/up_task_start.c              |   2 +-
 arch/ceva/src/xc5/up_signal_handler.S             |   4 +-
 arch/ceva/src/xc5/up_svcall_handler.S             |   4 +-
 arch/ceva/src/xc5/vfork.S                         |   2 +-
 arch/ceva/src/xm6/up_signal_handler.S             |   4 +-
 arch/ceva/src/xm6/up_svcall_handler.S             |   4 +-
 arch/ceva/src/xm6/vfork.S                         |   2 +-
 arch/or1k/src/common/up_pthread_start.c           |   3 +-
 arch/or1k/src/common/up_task_start.c              |   3 +-
 arch/risc-v/include/syscall.h                     |  97 ++++++++++++---
 arch/risc-v/src/common/riscv_pthread_start.c      |   3 +-
 arch/risc-v/src/common/riscv_signal_dispatch.c    |   3 +-
 arch/risc-v/src/common/riscv_signal_handler.S     |   2 +-
 arch/risc-v/src/common/riscv_swint.c              |   2 +-
 arch/risc-v/src/common/riscv_task_start.c         |   3 +-
 arch/risc-v/src/common/svcall.h                   | 131 ---------------------
 arch/xtensa/include/syscall.h                     |  27 ++---
 62 files changed, 338 insertions(+), 1147 deletions(-)

diff --git a/arch/arm/include/syscall.h b/arch/arm/include/syscall.h
index 033be91..320455a 100644
--- a/arch/arm/include/syscall.h
+++ b/arch/arm/include/syscall.h
@@ -47,16 +47,98 @@
 #  define SYS_smhcall 0x123456
 #endif
 
-/* The SYS_signal_handler_return is executed here... its value is not always
- * available in this context and so is assumed to be 7.
+/* Configuration ************************************************************/
+
+/* This logic uses three system calls {0,1,2} for context switching and one
+ * for the syscall return.
+ * So a minimum of four syscall values must be reserved.
+ * If CONFIG_BUILD_PROTECTED is defined, then four more syscall values must
+ * be reserved.
  */
 
-#ifndef SYS_signal_handler_return
-#  define SYS_signal_handler_return (7)
-#elif SYS_signal_handler_return != 7
-#  error "SYS_signal_handler_return was assumed to be 7"
+#ifdef CONFIG_LIB_SYSCALL
+#  ifdef CONFIG_BUILD_PROTECTED
+#    ifndef CONFIG_SYS_RESERVED
+#      error "CONFIG_SYS_RESERVED must be defined to have the value 8"
+#    elif CONFIG_SYS_RESERVED != 8
+#      error "CONFIG_SYS_RESERVED must have the value 8"
+#    endif
+#  else
+#    ifndef CONFIG_SYS_RESERVED
+#      error "CONFIG_SYS_RESERVED must be defined to have the value 4"
+#    elif CONFIG_SYS_RESERVED != 4
+#      error "CONFIG_SYS_RESERVED must have the value 4"
+#    endif
+#  endif
 #endif
 
+/* Cortex-M system calls ****************************************************/
+
+/* SYS call 0:
+ *
+ * int arm_saveusercontext(uint32_t *saveregs);
+ */
+
+#define SYS_save_context          (0)
+
+/* SYS call 1:
+ *
+ * void arm_fullcontextrestore(uint32_t *restoreregs) noreturn_function;
+ */
+
+#define SYS_restore_context       (1)
+
+/* SYS call 2:
+ *
+ * void arm_switchcontext(uint32_t *saveregs, uint32_t *restoreregs);
+ */
+
+#define SYS_switch_context        (2)
+
+#ifdef CONFIG_LIB_SYSCALL
+/* SYS call 3:
+ *
+ * void arm_syscall_return(void);
+ */
+
+#define SYS_syscall_return        (3)
+#endif /* CONFIG_LIB_SYSCALL */
+
+#ifndef CONFIG_BUILD_FLAT
+/* SYS call 4:
+ *
+ * void up_task_start(main_t taskentry, int argc, FAR char *argv[])
+ *        noreturn_function;
+ */
+
+#define SYS_task_start            (4)
+
+/* SYS call 5:
+ *
+ * void up_pthread_start((pthread_startroutine_t startup,
+ *                        pthread_startroutine_t entrypt, pthread_addr_t arg)
+ *        noreturn_function
+ */
+
+#define SYS_pthread_start         (5)
+
+/* SYS call 6:
+ *
+ * void signal_handler(_sa_sigaction_t sighand,
+ *                     int signo, FAR siginfo_t *info,
+ *                     FAR void *ucontext);
+ */
+
+#define SYS_signal_handler        (6)
+
+/* SYS call 7:
+ *
+ * void signal_handler_return(void);
+ */
+
+#define SYS_signal_handler_return (7)
+#endif /* !CONFIG_BUILD_FLAT */
+
 /****************************************************************************
  * Public Types
  ****************************************************************************/
diff --git a/arch/arm/src/arm/arm_fullcontextrestore.S 
b/arch/arm/src/arm/arm_fullcontextrestore.S
index 9c6f8e0..7368292 100644
--- a/arch/arm/src/arm/arm_fullcontextrestore.S
+++ b/arch/arm/src/arm/arm_fullcontextrestore.S
@@ -24,8 +24,8 @@
 
 #include <nuttx/config.h>
 #include <arch/irq.h>
+#include <arch/syscall.h>
 
-#include "svcall.h"
 #include "arm.h"
 
 /****************************************************************************
diff --git a/arch/arm/src/arm/arm_syscall.c b/arch/arm/src/arm/arm_syscall.c
index 074f333..5d13d17 100644
--- a/arch/arm/src/arm/arm_syscall.c
+++ b/arch/arm/src/arm/arm_syscall.c
@@ -27,12 +27,12 @@
 #include <stdint.h>
 #include <assert.h>
 #include <debug.h>
+#include <syscall.h>
 
 #include <nuttx/arch.h>
 
 #include "arm_arch.h"
 #include "arm_internal.h"
-#include "svcall.h"
 
 /****************************************************************************
  * Public Functions
diff --git a/arch/arm/src/arm/svcall.h b/arch/arm/src/arm/svcall.h
deleted file mode 100644
index a6bd67f..0000000
--- a/arch/arm/src/arm/svcall.h
+++ /dev/null
@@ -1,127 +0,0 @@
-/****************************************************************************
- * arch/arm/src/arm/svcall.h
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.  The
- * ASF licenses this file to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the
- * License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
- * License for the specific language governing permissions and limitations
- * under the License.
- *
- ****************************************************************************/
-
-#ifndef __ARCH_ARM_SRC_ARM_SVCALL_H
-#define __ARCH_ARM_SRC_ARM_SVCALL_H
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <syscall.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/* Configuration ************************************************************/
-
-/* This logic uses one system call for the syscall return.  So a minimum of
- * one syscall values must be reserved.  If CONFIG_BUILD_KERNEL is defined,
- * then four more syscall values must be reserved.
- */
-
-#ifdef CONFIG_LIB_SYSCALL
-#  ifdef CONFIG_BUILD_KERNEL
-#    ifndef CONFIG_SYS_RESERVED
-#      error "CONFIG_SYS_RESERVED must be defined to have the value 7"
-#    elif CONFIG_SYS_RESERVED != 7
-#      error "CONFIG_SYS_RESERVED must have the value 7"
-#    endif
-#  else
-#    ifndef CONFIG_SYS_RESERVED
-#      error "CONFIG_SYS_RESERVED must be defined to have the value 4"
-#    elif CONFIG_SYS_RESERVED != 4
-#      error "CONFIG_SYS_RESERVED must have the value 4"
-#    endif
-#  endif
-#endif
-
-/* Cortex-A system calls ****************************************************/
-
-/* SYS call 0:
- *
- * void arm_fullcontextrestore(uint32_t *restoreregs) noreturn_function;
- */
-
-#define SYS_restore_context       (0)
-
-/* SYS call 1:
- *
- * void arm_switchcontext(uint32_t *saveregs, uint32_t *restoreregs);
- */
-
-#define SYS_switch_context        (1)
-
-#ifdef CONFIG_LIB_SYSCALL
-/* SYS call 2:
- *
- * void arm_syscall_return(void);
- */
-
-#define SYS_syscall_return        (2)
-
-#ifndef CONFIG_BUILD_FLAT
-#ifdef CONFIG_BUILD_KERNEL
-/* SYS call 3:
- *
- * void up_task_start(main_t taskentry, int argc, FAR char *argv[])
- *        noreturn_function;
- */
-
-#define SYS_task_start            (3)
-
-/* SYS call 5:
- *
- * void signal_handler(_sa_sigaction_t sighand,
- *                     int signo, FAR siginfo_t *info,
- *                     FAR void *ucontext);
- */
-
-#define SYS_signal_handler        (5)
-
-/* SYS call 6:
- *
- * void signal_handler_return(void);
- */
-
-#define SYS_signal_handler_return (6)
-
-#endif /* !CONFIG_BUILD_FLAT */
-
-/* SYS call 4:
- *
- * void up_pthread_start(pthread_startroutine_t startup,
- *                       pthread_startroutine_t entrypt, pthread_addr_t arg)
- *        noreturn_function
- */
-
-#define SYS_pthread_start         (4)
-
-#endif /* CONFIG_BUILD_KERNEL */
-#endif /* CONFIG_LIB_SYSCALL */
-
-/****************************************************************************
- * Inline Functions
- ****************************************************************************/
-
-#endif /* __ARCH_ARM_SRC_ARM_SVCALL_H */
diff --git a/arch/arm/src/armv6-m/arm_fullcontextrestore.S 
b/arch/arm/src/armv6-m/arm_fullcontextrestore.S
index 509a637..5f27ea3 100644
--- a/arch/arm/src/armv6-m/arm_fullcontextrestore.S
+++ b/arch/arm/src/armv6-m/arm_fullcontextrestore.S
@@ -24,9 +24,9 @@
 
 #include <nuttx/config.h>
 #include <arch/irq.h>
+#include <arch/syscall.h>
 
 #include "nvic.h"
-#include "svcall.h"
 
 /****************************************************************************
  * Pre-processor Definitions
diff --git a/arch/arm/src/armv6-m/arm_saveusercontext.S 
b/arch/arm/src/armv6-m/arm_saveusercontext.S
index 311616c..284a3f7 100644
--- a/arch/arm/src/armv6-m/arm_saveusercontext.S
+++ b/arch/arm/src/armv6-m/arm_saveusercontext.S
@@ -24,9 +24,9 @@
 
 #include <nuttx/config.h>
 #include <arch/irq.h>
+#include <arch/syscall.h>
 
 #include "nvic.h"
-#include "svcall.h"
 
 /****************************************************************************
  * Pre-processor Definitions
diff --git a/arch/arm/src/armv6-m/arm_signal_dispatch.c 
b/arch/arm/src/armv6-m/arm_signal_dispatch.c
index 7b53d89..932a812 100644
--- a/arch/arm/src/armv6-m/arm_signal_dispatch.c
+++ b/arch/arm/src/armv6-m/arm_signal_dispatch.c
@@ -25,7 +25,8 @@
 #include <nuttx/config.h>
 #include <nuttx/arch.h>
 
-#include "svcall.h"
+#include <arch/syscall.h>
+
 #include "arm_internal.h"
 
 #if !defined(CONFIG_BUILD_FLAT) && defined(__KERNEL__)
diff --git a/arch/arm/src/armv6-m/arm_signal_handler.S 
b/arch/arm/src/armv6-m/arm_signal_handler.S
index 472b184..1f76daa 100644
--- a/arch/arm/src/armv6-m/arm_signal_handler.S
+++ b/arch/arm/src/armv6-m/arm_signal_handler.S
@@ -61,7 +61,7 @@
  *
  * Returned Value:
  *   None.  This function does not return in the normal sense.  It returns
- *   via the SYS_signal_handler_return (see svcall.h)
+ *   via the SYS_signal_handler_return (see syscall.h)
  *
  ****************************************************************************/
 
diff --git a/arch/arm/src/armv6-m/arm_svcall.c 
b/arch/arm/src/armv6-m/arm_svcall.c
index 9f5447c..701541b 100644
--- a/arch/arm/src/armv6-m/arm_svcall.c
+++ b/arch/arm/src/armv6-m/arm_svcall.c
@@ -29,12 +29,12 @@
 #include <string.h>
 #include <assert.h>
 #include <debug.h>
+#include <syscall.h>
 
 #include <arch/irq.h>
 #include <nuttx/sched.h>
 
 #include "signal/signal.h"
-#include "svcall.h"
 #include "exc_return.h"
 #include "arm_internal.h"
 
diff --git a/arch/arm/src/armv6-m/svcall.h b/arch/arm/src/armv6-m/svcall.h
deleted file mode 100644
index a790f58..0000000
--- a/arch/arm/src/armv6-m/svcall.h
+++ /dev/null
@@ -1,136 +0,0 @@
-/****************************************************************************
- * arch/arm/src/armv6-m/svcall.h
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.  The
- * ASF licenses this file to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the
- * License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
- * License for the specific language governing permissions and limitations
- * under the License.
- *
- ****************************************************************************/
-
-#ifndef __ARCH_ARM_SRC_ARMV6_M_SVCALL_H
-#define __ARCH_ARM_SRC_ARMV6_M_SVCALL_H
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <syscall.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/* Configuration ************************************************************/
-
-/* This logic uses three system calls {0,1,2} for context switching and one
- * for the syscall return.
- * So a minimum of four syscall values must be reserved.
- * If CONFIG_BUILD_PROTECTED is defined, then four more syscall values must
- * be reserved.
- */
-
-#ifdef CONFIG_LIB_SYSCALL
-#  ifdef CONFIG_BUILD_PROTECTED
-#    ifndef CONFIG_SYS_RESERVED
-#      error "CONFIG_SYS_RESERVED must be defined to have the value 8"
-#    elif CONFIG_SYS_RESERVED != 8
-#      error "CONFIG_SYS_RESERVED must have the value 8"
-#    endif
-#  else
-#    ifndef CONFIG_SYS_RESERVED
-#      error "CONFIG_SYS_RESERVED must be defined to have the value 4"
-#    elif CONFIG_SYS_RESERVED != 4
-#      error "CONFIG_SYS_RESERVED must have the value 4"
-#    endif
-#  endif
-#endif
-
-/* Cortex M0 system calls ***************************************************/
-
-/* SYS call 0:
- *
- * int arm_saveusercontext(uint32_t *saveregs);
- */
-
-#define SYS_save_context          (0)
-
-/* SYS call 1:
- *
- * void arm_fullcontextrestore(uint32_t *restoreregs) noreturn_function;
- */
-
-#define SYS_restore_context       (1)
-
-/* SYS call 2:
- *
- * void arm_switchcontext(uint32_t *saveregs, uint32_t *restoreregs);
- */
-
-#define SYS_switch_context        (2)
-
-#ifdef CONFIG_LIB_SYSCALL
-/* SYS call 3:
- *
- * void arm_syscall_return(void);
- */
-
-#define SYS_syscall_return        (3)
-
-#ifndef CONFIG_BUILD_FLAT
-#ifdef CONFIG_BUILD_PROTECTED
-/* SYS call 4:
- *
- * void up_task_start(main_t taskentry, int argc, FAR char *argv[])
- *        noreturn_function;
- */
-
-#define SYS_task_start            (4)
-
-/* SYS call 6:
- *
- * void signal_handler(_sa_sigaction_t sighand, int signo,
- *                     FAR siginfo_t *info,
- *                     FAR void *ucontext);
- */
-
-#define SYS_signal_handler        (6)
-
-/* SYS call 7:
- *
- * void signal_handler_return(void);
- */
-
-#define SYS_signal_handler_return (7)
-
-#endif /* CONFIG_BUILD_PROTECTED */
-
-/* SYS call 5:
- *
- * void up_pthread_start(pthread_startroutine_t startup,
- *                       pthread_startroutine_t entrypt, pthread_addr_t arg)
- *        noreturn_function
- */
-
-#define SYS_pthread_start         (5)
-
-#endif /* !CONFIG_BUILD_FLAT */
-#endif /* CONFIG_LIB_SYSCALL */
-
-/****************************************************************************
- * Inline Functions
- ****************************************************************************/
-
-#endif /* __ARCH_ARM_SRC_ARMV6_M_SVCALL_H */
diff --git a/arch/arm/src/armv7-a/arm_fullcontextrestore.S 
b/arch/arm/src/armv7-a/arm_fullcontextrestore.S
index 12063b3..ce06321 100644
--- a/arch/arm/src/armv7-a/arm_fullcontextrestore.S
+++ b/arch/arm/src/armv7-a/arm_fullcontextrestore.S
@@ -24,8 +24,8 @@
 
 #include <nuttx/config.h>
 #include <arch/irq.h>
+#include <arch/syscall.h>
 
-#include "svcall.h"
 #include "arm.h"
 
 /****************************************************************************
diff --git a/arch/arm/src/armv7-a/arm_signal_dispatch.c 
b/arch/arm/src/armv7-a/arm_signal_dispatch.c
index ba7f270..8a94b46 100644
--- a/arch/arm/src/armv7-a/arm_signal_dispatch.c
+++ b/arch/arm/src/armv7-a/arm_signal_dispatch.c
@@ -25,7 +25,8 @@
 #include <nuttx/config.h>
 #include <nuttx/arch.h>
 
-#include "svcall.h"
+#include <arch/syscall.h>
+
 #include "pgalloc.h"
 #include "arm_internal.h"
 
diff --git a/arch/arm/src/armv7-a/arm_syscall.c 
b/arch/arm/src/armv7-a/arm_syscall.c
index 436a01c..32d235b 100644
--- a/arch/arm/src/armv7-a/arm_syscall.c
+++ b/arch/arm/src/armv7-a/arm_syscall.c
@@ -29,6 +29,7 @@
 #include <string.h>
 #include <assert.h>
 #include <debug.h>
+#include <syscall.h>
 
 #include <nuttx/arch.h>
 #include <nuttx/sched.h>
@@ -36,7 +37,6 @@
 
 #include "signal/signal.h"
 #include "arm.h"
-#include "svcall.h"
 #include "addrenv.h"
 #include "arm_internal.h"
 
diff --git a/arch/arm/src/armv7-a/crt0.c b/arch/arm/src/armv7-a/crt0.c
index 86a2669..71a3a71 100644
--- a/arch/arm/src/armv7-a/crt0.c
+++ b/arch/arm/src/armv7-a/crt0.c
@@ -29,7 +29,7 @@
 
 #include <nuttx/addrenv.h>
 
-#include "svcall.h"
+#include <arch/syscall.h>
 
 #ifdef CONFIG_BUILD_KERNEL
 
@@ -62,7 +62,7 @@ int main(int argc, char *argv[]);
  *
  * Returned Value:
  *   None.  This function does not return in the normal sense.  It returns
- *   via the SYS_signal_handler_return (see svcall.h)
+ *   via the SYS_signal_handler_return (see syscall.h)
  *
  ****************************************************************************/
 
diff --git a/arch/arm/src/armv7-a/svcall.h b/arch/arm/src/armv7-a/svcall.h
deleted file mode 100644
index 3999a9e..0000000
--- a/arch/arm/src/armv7-a/svcall.h
+++ /dev/null
@@ -1,127 +0,0 @@
-/****************************************************************************
- * arch/arm/src/armv7-a/svcall.h
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.  The
- * ASF licenses this file to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the
- * License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
- * License for the specific language governing permissions and limitations
- * under the License.
- *
- ****************************************************************************/
-
-#ifndef __ARCH_ARM_SRC_ARMV7_A_SVCALL_H
-#define __ARCH_ARM_SRC_ARMV7_A_SVCALL_H
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <syscall.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/* Configuration ************************************************************/
-
-/* This logic uses one system call for the syscall return.  So a minimum of
- * one syscall values must be reserved.  If CONFIG_BUILD_KERNEL is defined,
- * then four more syscall values must be reserved.
- */
-
-#ifdef CONFIG_LIB_SYSCALL
-#  ifdef CONFIG_BUILD_KERNEL
-#    ifndef CONFIG_SYS_RESERVED
-#      error "CONFIG_SYS_RESERVED must be defined to have the value 7"
-#    elif CONFIG_SYS_RESERVED != 7
-#      error "CONFIG_SYS_RESERVED must have the value 7"
-#    endif
-#  else
-#    ifndef CONFIG_SYS_RESERVED
-#      error "CONFIG_SYS_RESERVED must be defined to have the value 4"
-#    elif CONFIG_SYS_RESERVED != 4
-#      error "CONFIG_SYS_RESERVED must have the value 4"
-#    endif
-#  endif
-#endif
-
-/* Cortex-A system calls ****************************************************/
-
-/* SYS call 0:
- *
- * void arm_fullcontextrestore(uint32_t *restoreregs) noreturn_function;
- */
-
-#define SYS_restore_context       (0)
-
-/* SYS call 1:
- *
- * void arm_switchcontext(uint32_t *saveregs, uint32_t *restoreregs);
- */
-
-#define SYS_switch_context        (1)
-
-#ifdef CONFIG_LIB_SYSCALL
-/* SYS call 2:
- *
- * void arm_syscall_return(void);
- */
-
-#define SYS_syscall_return        (2)
-
-#ifndef CONFIG_BUILD_FLAT
-#ifdef CONFIG_BUILD_KERNEL
-/* SYS call 3:
- *
- * void up_task_start(main_t taskentry, int argc, FAR char *argv[])
- *        noreturn_function;
- */
-
-#define SYS_task_start            (3)
-
-/* SYS call 5:
- *
- * void signal_handler(_sa_sigaction_t sighand,
- *                     int signo, FAR siginfo_t *info,
- *                     FAR void *ucontext);
- */
-
-#define SYS_signal_handler        (5)
-
-/* SYS call 6:
- *
- * void signal_handler_return(void);
- */
-
-#define SYS_signal_handler_return (6)
-
-#endif /* !CONFIG_BUILD_FLAT */
-
-/* SYS call 4:
- *
- * void up_pthread_start(pthread_startroutine_t startup,
- *                       pthread_startroutine_t entrypt, pthread_addr_t arg)
- *        noreturn_function
- */
-
-#define SYS_pthread_start         (4)
-
-#endif /* CONFIG_BUILD_KERNEL */
-#endif /* CONFIG_LIB_SYSCALL */
-
-/****************************************************************************
- * Inline Functions
- ****************************************************************************/
-
-#endif /* __ARCH_ARM_SRC_ARMV7_A_SVCALL_H */
diff --git a/arch/arm/src/armv7-m/arm_signal_dispatch.c 
b/arch/arm/src/armv7-m/arm_signal_dispatch.c
index 9c1c448..4b6b472 100644
--- a/arch/arm/src/armv7-m/arm_signal_dispatch.c
+++ b/arch/arm/src/armv7-m/arm_signal_dispatch.c
@@ -25,7 +25,8 @@
 #include <nuttx/config.h>
 #include <nuttx/arch.h>
 
-#include "svcall.h"
+#include <arch/syscall.h>
+
 #include "arm_internal.h"
 
 #if !defined(CONFIG_BUILD_FLAT) && defined(__KERNEL__)
diff --git a/arch/arm/src/armv7-m/arm_svcall.c 
b/arch/arm/src/armv7-m/arm_svcall.c
index 1330dc3..7eceeaa 100644
--- a/arch/arm/src/armv7-m/arm_svcall.c
+++ b/arch/arm/src/armv7-m/arm_svcall.c
@@ -29,13 +29,13 @@
 #include <string.h>
 #include <assert.h>
 #include <debug.h>
+#include <syscall.h>
 
 #include <arch/irq.h>
 #include <nuttx/sched.h>
 #include <nuttx/userspace.h>
 
 #include "signal/signal.h"
-#include "svcall.h"
 #include "exc_return.h"
 #include "arm_internal.h"
 
diff --git a/arch/arm/src/armv7-m/gnu/arm_fullcontextrestore.S 
b/arch/arm/src/armv7-m/gnu/arm_fullcontextrestore.S
index 697ab1e..54351f2 100644
--- a/arch/arm/src/armv7-m/gnu/arm_fullcontextrestore.S
+++ b/arch/arm/src/armv7-m/gnu/arm_fullcontextrestore.S
@@ -24,9 +24,9 @@
 
 #include <nuttx/config.h>
 #include <arch/irq.h>
+#include <arch/syscall.h>
 
 #include "nvic.h"
-#include "svcall.h"
 
 /****************************************************************************
  * Pre-processor Definitions
diff --git a/arch/arm/src/armv7-m/gnu/arm_saveusercontext.S 
b/arch/arm/src/armv7-m/gnu/arm_saveusercontext.S
index 013d5f1..c5b12a3 100644
--- a/arch/arm/src/armv7-m/gnu/arm_saveusercontext.S
+++ b/arch/arm/src/armv7-m/gnu/arm_saveusercontext.S
@@ -24,9 +24,9 @@
 
 #include <nuttx/config.h>
 #include <arch/irq.h>
+#include <arch/syscall.h>
 
 #include "nvic.h"
-#include "svcall.h"
 
 /****************************************************************************
  * Pre-processor Definitions
diff --git a/arch/arm/src/armv7-m/gnu/arm_signal_handler.S 
b/arch/arm/src/armv7-m/gnu/arm_signal_handler.S
index e0bdf7a..fa83e6c 100644
--- a/arch/arm/src/armv7-m/gnu/arm_signal_handler.S
+++ b/arch/arm/src/armv7-m/gnu/arm_signal_handler.S
@@ -63,7 +63,7 @@
  *
  * Returned Value:
  *   None.  This function does not return in the normal sense.  It returns
- *   via the SYS_signal_handler_return (see svcall.h)
+ *   via the SYS_signal_handler_return (see syscall.h)
  *
  ****************************************************************************/
 
diff --git a/arch/arm/src/armv7-m/iar/arm_fullcontextrestore.S 
b/arch/arm/src/armv7-m/iar/arm_fullcontextrestore.S
index 61063e2..7f0ad65 100644
--- a/arch/arm/src/armv7-m/iar/arm_fullcontextrestore.S
+++ b/arch/arm/src/armv7-m/iar/arm_fullcontextrestore.S
@@ -24,9 +24,9 @@
 
 #include <nuttx/config.h>
 #include <arch/irq.h>
+#include <arch/syscall.h>
 
 #include "nvic.h"
-#include "svcall.h"
 
        MODULE arm_fullcontextrestore
        SECTION .text:CODE:NOROOT(2)
diff --git a/arch/arm/src/armv7-m/iar/arm_saveusercontext.S 
b/arch/arm/src/armv7-m/iar/arm_saveusercontext.S
index 08817a8..1806865 100644
--- a/arch/arm/src/armv7-m/iar/arm_saveusercontext.S
+++ b/arch/arm/src/armv7-m/iar/arm_saveusercontext.S
@@ -24,9 +24,9 @@
 
 #include <nuttx/config.h>
 #include <arch/irq.h>
+#include <arch/syscall.h>
 
 #include "nvic.h"
-#include "svcall.h"
 
        MODULE arm_saveusercontext
        SECTION .text:CODE:NOROOT(2)
diff --git a/arch/arm/src/armv7-m/svcall.h b/arch/arm/src/armv7-m/svcall.h
deleted file mode 100644
index 98a574e..0000000
--- a/arch/arm/src/armv7-m/svcall.h
+++ /dev/null
@@ -1,136 +0,0 @@
-/****************************************************************************
- * arch/arm/src/armv7-m/svcall.h
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.  The
- * ASF licenses this file to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the
- * License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
- * License for the specific language governing permissions and limitations
- * under the License.
- *
- ****************************************************************************/
-
-#ifndef __ARCH_ARM_SRC_ARMV7_M_SVCALL_H
-#define __ARCH_ARM_SRC_ARMV7_M_SVCALL_H
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <syscall.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/* Configuration ************************************************************/
-
-/* This logic uses three system calls {0,1,2} for context switching and one
- * for the syscall return.
- * So a minimum of four syscall values must be reserved.
- * If CONFIG_BUILD_PROTECTED is defined, then four more syscall values must
- * be reserved.
- */
-
-#ifdef CONFIG_LIB_SYSCALL
-#  ifdef CONFIG_BUILD_PROTECTED
-#    ifndef CONFIG_SYS_RESERVED
-#      error "CONFIG_SYS_RESERVED must be defined to have the value 8"
-#    elif CONFIG_SYS_RESERVED != 8
-#      error "CONFIG_SYS_RESERVED must have the value 8"
-#    endif
-#  else
-#    ifndef CONFIG_SYS_RESERVED
-#      error "CONFIG_SYS_RESERVED must be defined to have the value 4"
-#    elif CONFIG_SYS_RESERVED != 4
-#      error "CONFIG_SYS_RESERVED must have the value 4"
-#    endif
-#  endif
-#endif
-
-/* Cortex-M system calls ****************************************************/
-
-/* SYS call 0:
- *
- * int arm_saveusercontext(uint32_t *saveregs);
- */
-
-#define SYS_save_context          (0)
-
-/* SYS call 1:
- *
- * void arm_fullcontextrestore(uint32_t *restoreregs) noreturn_function;
- */
-
-#define SYS_restore_context       (1)
-
-/* SYS call 2:
- *
- * void arm_switchcontext(uint32_t *saveregs, uint32_t *restoreregs);
- */
-
-#define SYS_switch_context        (2)
-
-#ifndef CONFIG_BUILD_FLAT
-#ifdef CONFIG_LIB_SYSCALL
-/* SYS call 3:
- *
- * void arm_syscall_return(void);
- */
-
-#define SYS_syscall_return        (3)
-
-#ifdef CONFIG_BUILD_PROTECTED
-/* SYS call 4:
- *
- * void up_task_start(main_t taskentry, int argc, FAR char *argv[])
- *        noreturn_function;
- */
-
-#define SYS_task_start            (4)
-
-/* SYS call 6:
- *
- * void signal_handler(_sa_sigaction_t sighand,
- *                     int signo, FAR siginfo_t *info,
- *                     FAR void *ucontext);
- */
-
-#define SYS_signal_handler        (6)
-
-/* SYS call 7:
- *
- * void signal_handler_return(void);
- */
-
-#define SYS_signal_handler_return (7)
-
-#endif /* CONFIG_BUILD_PROTECTED */
-
-/* SYS call 5:
- *
- * void up_pthread_start((pthread_startroutine_t startup,
- *                        pthread_startroutine_t entrypt, pthread_addr_t arg)
- *        noreturn_function
- */
-
-#define SYS_pthread_start         (5)
-
-#endif /* !CONFIG_BUILD_FLAT */
-#endif /* CONFIG_LIB_SYSCALL */
-
-/****************************************************************************
- * Inline Functions
- ****************************************************************************/
-
-#endif /* __ARCH_ARM_SRC_ARMV7_M_SVCALL_H */
diff --git a/arch/arm/src/armv7-r/arm_fullcontextrestore.S 
b/arch/arm/src/armv7-r/arm_fullcontextrestore.S
index 9af7219..16ccc60 100644
--- a/arch/arm/src/armv7-r/arm_fullcontextrestore.S
+++ b/arch/arm/src/armv7-r/arm_fullcontextrestore.S
@@ -24,8 +24,7 @@
 
 #include <nuttx/config.h>
 #include <arch/irq.h>
-
-#include "svcall.h"
+#include <arch/syscall.h>
 
 /****************************************************************************
  * Pre-processor Definitions
diff --git a/arch/arm/src/armv7-r/arm_signal_dispatch.c 
b/arch/arm/src/armv7-r/arm_signal_dispatch.c
index 0739b07..a229d42 100644
--- a/arch/arm/src/armv7-r/arm_signal_dispatch.c
+++ b/arch/arm/src/armv7-r/arm_signal_dispatch.c
@@ -25,7 +25,8 @@
 #include <nuttx/config.h>
 #include <nuttx/arch.h>
 
-#include "svcall.h"
+#include <arch/syscall.h>
+
 #include "pgalloc.h"
 #include "arm_internal.h"
 
diff --git a/arch/arm/src/armv7-r/arm_signal_handler.S 
b/arch/arm/src/armv7-r/arm_signal_handler.S
index bbee3f7..585f362 100644
--- a/arch/arm/src/armv7-r/arm_signal_handler.S
+++ b/arch/arm/src/armv7-r/arm_signal_handler.S
@@ -61,7 +61,7 @@
  *
  * Returned Value:
  *   None.  This function does not return in the normal sense.  It returns
- *   via the SYS_signal_handler_return (see svcall.h)
+ *   via the SYS_signal_handler_return (see syscall.h)
  *
  ****************************************************************************/
 
diff --git a/arch/arm/src/armv7-r/arm_syscall.c 
b/arch/arm/src/armv7-r/arm_syscall.c
index 719d270..eebb0ae 100644
--- a/arch/arm/src/armv7-r/arm_syscall.c
+++ b/arch/arm/src/armv7-r/arm_syscall.c
@@ -28,13 +28,13 @@
 #include <string.h>
 #include <assert.h>
 #include <debug.h>
+#include <syscall.h>
 
 #include <nuttx/arch.h>
 #include <nuttx/sched.h>
 
 #include "signal/signal.h"
 #include "arm.h"
-#include "svcall.h"
 #include "arm_internal.h"
 
 /****************************************************************************
diff --git a/arch/arm/src/armv7-r/svcall.h b/arch/arm/src/armv7-r/svcall.h
deleted file mode 100644
index b0efecd..0000000
--- a/arch/arm/src/armv7-r/svcall.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/****************************************************************************
- * arch/arm/src/armv7-r/svcall.h
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.  The
- * ASF licenses this file to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the
- * License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
- * License for the specific language governing permissions and limitations
- * under the License.
- *
- ****************************************************************************/
-
-#ifndef __ARCH_ARM_SRC_ARMV7_R_SVCALL_H
-#define __ARCH_ARM_SRC_ARMV7_R_SVCALL_H
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <syscall.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/* Configuration ************************************************************/
-
-/* This logic uses one system call for the syscall return.
- *  So a minimum of one syscall values must be reserved.
- * If CONFIG_BUILD_PROTECTED is defined, then four
- * more syscall values must be reserved.
- */
-
-#ifdef CONFIG_LIB_SYSCALL
-#  ifdef CONFIG_BUILD_KERNEL
-#    ifndef CONFIG_SYS_RESERVED
-#      error "CONFIG_SYS_RESERVED must be defined to have the value 7"
-#    elif CONFIG_SYS_RESERVED != 7
-#      error "CONFIG_SYS_RESERVED must have the value 7"
-#    endif
-#  else
-#    ifndef CONFIG_SYS_RESERVED
-#      error "CONFIG_SYS_RESERVED must be defined to have the value 4"
-#    elif CONFIG_SYS_RESERVED != 4
-#      error "CONFIG_SYS_RESERVED must have the value 4"
-#    endif
-#  endif
-#endif
-
-/* Cortex-R system calls ****************************************************/
-
-/* SYS call 0:
- *
- * void arm_fullcontextrestore(uint32_t *restoreregs) noreturn_function;
- */
-
-#define SYS_restore_context       (0)
-
-/* SYS call 1:
- *
- * void arm_switchcontext(uint32_t *saveregs, uint32_t *restoreregs);
- */
-
-#define SYS_switch_context        (1)
-
-#ifdef CONFIG_LIB_SYSCALL
-/* SYS call 2:
- *
- * void arm_syscall_return(void);
- */
-
-#define SYS_syscall_return        (2)
-
-#ifndef CONFIG_BUILD_FLAT
-#ifdef CONFIG_BUILD_KERNEL
-/* SYS call 3:
- *
- * void up_task_start(main_t taskentry, int argc, FAR char *argv[])
- *        noreturn_function;
- */
-
-#define SYS_task_start            (3)
-
-/* SYS call 5:
- *
- * void signal_handler(_sa_sigaction_t sighand,
- *                     int signo, FAR siginfo_t *info,
- *                     FAR void *ucontext);
- */
-
-#define SYS_signal_handler        (5)
-
-/* SYS call 6:
- *
- * void signal_handler_return(void);
- */
-
-#define SYS_signal_handler_return (6)
-
-#endif /* !CONFIG_BUILD_FLAT */
-
-/* SYS call 4:
- *
- * void up_pthread_start(pthread_startroutine_t startup,
- *                       pthread_startroutine_t entrypt, pthread_addr_t arg)
- *        noreturn_function
- */
-
-#define SYS_pthread_start         (4)
-
-#endif /* !CONFIG_BUILD_FLAT */
-#endif /* CONFIG_LIB_SYSCALL */
-
-/****************************************************************************
- * Inline Functions
- ****************************************************************************/
-
-#endif /* __ARCH_ARM_SRC_ARMV7_R_SVCALL_H */
diff --git a/arch/arm/src/armv8-m/arm_fullcontextrestore.S 
b/arch/arm/src/armv8-m/arm_fullcontextrestore.S
index 62e47fa..0227bd2 100644
--- a/arch/arm/src/armv8-m/arm_fullcontextrestore.S
+++ b/arch/arm/src/armv8-m/arm_fullcontextrestore.S
@@ -24,9 +24,9 @@
 
 #include <nuttx/config.h>
 #include <arch/irq.h>
+#include <arch/syscall.h>
 
 #include "nvic.h"
-#include "svcall.h"
 
 /****************************************************************************
  * Pre-processor Definitions
diff --git a/arch/arm/src/armv8-m/arm_saveusercontext.S 
b/arch/arm/src/armv8-m/arm_saveusercontext.S
index 2620abf..0de40f3 100644
--- a/arch/arm/src/armv8-m/arm_saveusercontext.S
+++ b/arch/arm/src/armv8-m/arm_saveusercontext.S
@@ -24,9 +24,9 @@
 
 #include <nuttx/config.h>
 #include <arch/irq.h>
+#include <arch/syscall.h>
 
 #include "nvic.h"
-#include "svcall.h"
 
 /****************************************************************************
  * Pre-processor Definitions
diff --git a/arch/arm/src/armv8-m/arm_signal_dispatch.c 
b/arch/arm/src/armv8-m/arm_signal_dispatch.c
index ac9409b..62baf3c 100644
--- a/arch/arm/src/armv8-m/arm_signal_dispatch.c
+++ b/arch/arm/src/armv8-m/arm_signal_dispatch.c
@@ -25,7 +25,8 @@
 #include <nuttx/config.h>
 #include <nuttx/arch.h>
 
-#include "svcall.h"
+#include <arch/syscall.h>
+
 #include "arm_internal.h"
 
 #if !defined(CONFIG_BUILD_FLAT) && defined(__KERNEL__)
diff --git a/arch/arm/src/armv8-m/arm_signal_handler.S 
b/arch/arm/src/armv8-m/arm_signal_handler.S
index 73ce9b6..b2bac1a 100644
--- a/arch/arm/src/armv8-m/arm_signal_handler.S
+++ b/arch/arm/src/armv8-m/arm_signal_handler.S
@@ -63,7 +63,7 @@
  *
  * Returned Value:
  *   None.  This function does not return in the normal sense.  It returns
- *   via the SYS_signal_handler_return (see svcall.h)
+ *   via the SYS_signal_handler_return (see syscall.h)
  *
  ****************************************************************************/
 
diff --git a/arch/arm/src/armv8-m/arm_svcall.c 
b/arch/arm/src/armv8-m/arm_svcall.c
index 50d5be5..ae1e80c 100644
--- a/arch/arm/src/armv8-m/arm_svcall.c
+++ b/arch/arm/src/armv8-m/arm_svcall.c
@@ -28,13 +28,13 @@
 #include <string.h>
 #include <assert.h>
 #include <debug.h>
+#include <syscall.h>
 
 #include <arch/irq.h>
 #include <nuttx/sched.h>
 #include <nuttx/userspace.h>
 
 #include "signal/signal.h"
-#include "svcall.h"
 #include "exc_return.h"
 #include "arm_internal.h"
 
diff --git a/arch/arm/src/armv8-m/svcall.h b/arch/arm/src/armv8-m/svcall.h
deleted file mode 100644
index 7213084..0000000
--- a/arch/arm/src/armv8-m/svcall.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/****************************************************************************
- * arch/arm/src/armv8-m/svcall.h
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.  The
- * ASF licenses this file to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the
- * License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
- * License for the specific language governing permissions and limitations
- * under the License.
- *
- ****************************************************************************/
-
-#ifndef __ARCH_ARM_SRC_ARMV8_M_SVCALL_H
-#define __ARCH_ARM_SRC_ARMV8_M_SVCALL_H
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <syscall.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/* Configuration ************************************************************/
-
-/* This logic uses three system calls {0,1,2} for context switching and one
- * for the syscall return.  So a minimum of four syscall values must be
- *reserved.  If CONFIG_BUILD_PROTECTED is defined, then four more syscall
- * values must be reserved.
- */
-
-#ifdef CONFIG_LIB_SYSCALL
-#  ifdef CONFIG_BUILD_PROTECTED
-#    ifndef CONFIG_SYS_RESERVED
-#      error "CONFIG_SYS_RESERVED must be defined to have the value 8"
-#    elif CONFIG_SYS_RESERVED != 8
-#      error "CONFIG_SYS_RESERVED must have the value 8"
-#    endif
-#  else
-#    ifndef CONFIG_SYS_RESERVED
-#      error "CONFIG_SYS_RESERVED must be defined to have the value 4"
-#    elif CONFIG_SYS_RESERVED != 4
-#      error "CONFIG_SYS_RESERVED must have the value 4"
-#    endif
-#  endif
-#endif
-
-/* Cortex-M system calls ****************************************************/
-
-/* SYS call 0:
- *
- * int arm_saveusercontext(uint32_t *saveregs);
- */
-
-#define SYS_save_context          (0)
-
-/* SYS call 1:
- *
- * void arm_fullcontextrestore(uint32_t *restoreregs) noreturn_function;
- */
-
-#define SYS_restore_context       (1)
-
-/* SYS call 2:
- *
- * void arm_switchcontext(uint32_t *saveregs, uint32_t *restoreregs);
- */
-
-#define SYS_switch_context        (2)
-
-#ifdef CONFIG_LIB_SYSCALL
-/* SYS call 3:
- *
- * void arm_syscall_return(void);
- */
-
-#define SYS_syscall_return        (3)
-
-#ifndef CONFIG_BUILD_FLAT
-#ifdef CONFIG_BUILD_PROTECTED
-/* SYS call 4:
- *
- * void up_task_start(main_t taskentry, int argc, FAR char *argv[])
- *        noreturn_function;
- */
-
-#define SYS_task_start            (4)
-
-/* SYS call 6:
- *
- * void signal_handler(_sa_sigaction_t sighand,
- *                     int signo, FAR siginfo_t *info,
- *                     FAR void *ucontext);
- */
-
-#define SYS_signal_handler        (6)
-
-/* SYS call 7:
- *
- * void signal_handler_return(void);
- */
-
-#define SYS_signal_handler_return (7)
-
-#endif /* CONFIG_BUILD_PROTECTED */
-
-/* SYS call 5:
- *
- * void up_pthread_start(pthread_startroutine_t startup,
- *                       pthread_startroutine_t entrypt, pthread_addr_t arg)
- *        noreturn_function
- */
-
-#define SYS_pthread_start         (5)
-
-#endif /* !CONFIG_BUILD_FLAT */
-#endif /* CONFIG_LIB_SYSCALL */
-
-/****************************************************************************
- * Inline Functions
- ****************************************************************************/
-
-#endif /* __ARCH_ARM_SRC_ARMV8_M_SVCALL_H */
diff --git a/arch/arm/src/common/arm_pthread_start.c 
b/arch/arm/src/common/arm_pthread_start.c
index 0caf5ef..68930b0 100644
--- a/arch/arm/src/common/arm_pthread_start.c
+++ b/arch/arm/src/common/arm_pthread_start.c
@@ -28,7 +28,8 @@
 
 #include <assert.h>
 
-#include "svcall.h"
+#include <arch/syscall.h>
+
 #include "arm_internal.h"
 
 #if !defined(CONFIG_BUILD_FLAT) && defined(__KERNEL__) && \
diff --git a/arch/arm/src/common/arm_switchcontext.c 
b/arch/arm/src/common/arm_switchcontext.c
index a7944f2..3a1c568 100644
--- a/arch/arm/src/common/arm_switchcontext.c
+++ b/arch/arm/src/common/arm_switchcontext.c
@@ -24,8 +24,7 @@
 
 #include <nuttx/config.h>
 
-#include "svcall.h"
-#include "syscall.h"
+#include <arch/syscall.h>
 
 /****************************************************************************
  * Public Functions
diff --git a/arch/arm/src/common/arm_task_start.c 
b/arch/arm/src/common/arm_task_start.c
index 53cfd8b..3c7e9ec 100644
--- a/arch/arm/src/common/arm_task_start.c
+++ b/arch/arm/src/common/arm_task_start.c
@@ -27,7 +27,8 @@
 
 #include <assert.h>
 
-#include "svcall.h"
+#include <arch/syscall.h>
+
 #include "arm_internal.h"
 
 #ifndef CONFIG_BUILD_FLAT
diff --git a/arch/ceva/include/syscall.h b/arch/ceva/include/syscall.h
index 8ad4166..4342718 100644
--- a/arch/ceva/include/syscall.h
+++ b/arch/ceva/include/syscall.h
@@ -39,6 +39,96 @@
  * Pre-processor Definitions
  ****************************************************************************/
 
+/* Configuration ************************************************************/
+
+/* This logic uses three system calls {0,1,2} for context switching and one
+ * for the syscall return.
+ * So a minimum of four syscall values must be reserved.
+ * If CONFIG_BUILD_PROTECTED is defined, then four more syscall values
+ * must be reserved.
+ */
+
+#ifdef CONFIG_LIB_SYSCALL
+#  ifdef CONFIG_BUILD_PROTECTED
+#    ifndef CONFIG_SYS_RESERVED
+#      error "CONFIG_SYS_RESERVED must be defined to have the value 8"
+#    elif CONFIG_SYS_RESERVED != 8
+#      error "CONFIG_SYS_RESERVED must have the value 8"
+#    endif
+#  else
+#    ifndef CONFIG_SYS_RESERVED
+#      error "CONFIG_SYS_RESERVED must be defined to have the value 4"
+#    elif CONFIG_SYS_RESERVED != 4
+#      error "CONFIG_SYS_RESERVED must have the value 4"
+#    endif
+#  endif
+#endif
+
+/* CEVA system calls ********************************************************/
+
+/* SYS call 0:
+ *
+ * int up_saveusercontext(uint32_t *saveregs);
+ */
+
+#define SYS_save_context          0x00
+
+/* SYS call 1:
+ *
+ * void up_fullcontextrestore(uint32_t *restoreregs) noreturn_function;
+ */
+
+#define SYS_restore_context       0x01
+
+/* SYS call 2:
+ *
+ * void up_switchcontext(uint32_t **saveregs, uint32_t *restoreregs);
+ */
+
+#define SYS_switch_context        0x02
+
+#ifdef CONFIG_LIB_SYSCALL
+/* SYS call 3:
+ *
+ * void up_syscall_return(void);
+ */
+
+#define SYS_syscall_return        0x03
+#endif /* CONFIG_LIB_SYSCALL */
+
+#ifndef CONFIG_BUILD_FLAT
+/* SYS call 4:
+ *
+ * void up_task_start(main_t taskentry, int argc, FAR char *argv[])
+ *        noreturn_function;
+ */
+
+#define SYS_task_start            0x04
+
+/* SYS call 5:
+ *
+ * void up_pthread_start(pthread_startroutine_t entrypt, pthread_addr_t arg)
+ *        noreturn_function
+ */
+
+#define SYS_pthread_start         0x05
+
+/* SYS call 6:
+ *
+ * void signal_handler(_sa_sigaction_t sighand, int signo,
+ *                     FAR siginfo_t *info, FAR void *ucontext);
+ */
+
+#define SYS_signal_handler        0x06
+
+/* SYS call 7:
+ *
+ * void signal_handler_return(void);
+ */
+
+#define SYS_signal_handler_return 0x07
+#endif /* !CONFIG_BUILD_FLAT */
+
 /****************************************************************************
  * Public Types
  ****************************************************************************/
diff --git a/arch/ceva/src/common/svcall.h b/arch/ceva/src/common/svcall.h
deleted file mode 100644
index f7301d3..0000000
--- a/arch/ceva/src/common/svcall.h
+++ /dev/null
@@ -1,130 +0,0 @@
-/****************************************************************************
- * arch/ceva/src/common/svcall.h
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.  The
- * ASF licenses this file to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the
- * License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
- * License for the specific language governing permissions and limitations
- * under the License.
- *
- ****************************************************************************/
-
-#ifndef __ARCH_CEVA_SRC_COMMON_SVCALL_H
-#define __ARCH_CEVA_SRC_COMMON_SVCALL_H
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-#include <syscall.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/* Configuration ************************************************************/
-
-/* This logic uses three system calls {0,1,2} for context switching and one
- * for the syscall return.
- * So a minimum of four syscall values must be reserved.
- * If CONFIG_BUILD_PROTECTED is defined, then four more syscall values
- * must be reserved.
- */
-
-#ifdef CONFIG_LIB_SYSCALL
-#  ifdef CONFIG_BUILD_PROTECTED
-#    ifndef CONFIG_SYS_RESERVED
-#      error "CONFIG_SYS_RESERVED must be defined to have the value 8"
-#    elif CONFIG_SYS_RESERVED != 8
-#      error "CONFIG_SYS_RESERVED must have the value 8"
-#    endif
-#  else
-#    ifndef CONFIG_SYS_RESERVED
-#      error "CONFIG_SYS_RESERVED must be defined to have the value 4"
-#    elif CONFIG_SYS_RESERVED != 4
-#      error "CONFIG_SYS_RESERVED must have the value 4"
-#    endif
-#  endif
-#endif
-
-/* CEVA system calls ********************************************************/
-
-/* SYS call 0:
- *
- * int up_saveusercontext(uint32_t *saveregs);
- */
-
-#define SYS_save_context          0x00
-
-/* SYS call 1:
- *
- * void up_fullcontextrestore(uint32_t *restoreregs) noreturn_function;
- */
-
-#define SYS_restore_context       0x01
-
-/* SYS call 2:
- *
- * void up_switchcontext(uint32_t **saveregs, uint32_t *restoreregs);
- */
-
-#define SYS_switch_context        0x02
-
-#ifdef CONFIG_LIB_SYSCALL
-/* SYS call 3:
- *
- * void up_syscall_return(void);
- */
-
-#define SYS_syscall_return        0x03
-
-#ifdef CONFIG_BUILD_PROTECTED
-/* SYS call 4:
- *
- * void up_task_start(main_t taskentry, int argc, FAR char *argv[])
- *        noreturn_function;
- */
-
-#define SYS_task_start            0x04
-
-/* SYS call 5:
- *
- * void up_pthread_start(pthread_startroutine_t entrypt, pthread_addr_t arg)
- *        noreturn_function
- */
-
-#define SYS_pthread_start         0x05
-
-/* SYS call 6:
- *
- * void signal_handler(_sa_sigaction_t sighand, int signo,
- *                     FAR siginfo_t *info, FAR void *ucontext);
- */
-
-#define SYS_signal_handler        0x06
-
-/* SYS call 7:
- *
- * void signal_handler_return(void);
- */
-
-#define SYS_signal_handler_return 0x07
-
-#endif /* CONFIG_BUILD_PROTECTED */
-#endif /* CONFIG_LIB_SYSCALL */
-
-/****************************************************************************
- * Inline Functions
- ****************************************************************************/
-
-#endif /* __ARCH_CEVA_SRC_COMMON_SVCALL_H */
diff --git a/arch/ceva/src/common/up_fullcontextrestore.c 
b/arch/ceva/src/common/up_fullcontextrestore.c
index 5cf2cb3..8aa008d 100644
--- a/arch/ceva/src/common/up_fullcontextrestore.c
+++ b/arch/ceva/src/common/up_fullcontextrestore.c
@@ -22,7 +22,8 @@
  * Included Files
  ****************************************************************************/
 
-#include "svcall.h"
+#include <arch/syscall.h>
+
 #include "up_internal.h"
 
 /****************************************************************************
diff --git a/arch/ceva/src/common/up_pthread_start.c 
b/arch/ceva/src/common/up_pthread_start.c
index d05c31e..03194b0 100644
--- a/arch/ceva/src/common/up_pthread_start.c
+++ b/arch/ceva/src/common/up_pthread_start.c
@@ -26,7 +26,7 @@
 #include <pthread.h>
 #include <nuttx/arch.h>
 
-#include "svcall.h"
+#include <arch/syscall.h>
 
 #if ((defined(CONFIG_BUILD_PROTECTED) && defined(__KERNEL__)) || \
       defined(CONFIG_BUILD_KERNEL)) && !defined(CONFIG_DISABLE_PTHREAD)
diff --git a/arch/ceva/src/common/up_saveusercontext.c 
b/arch/ceva/src/common/up_saveusercontext.c
index 068592e..0d101e8 100644
--- a/arch/ceva/src/common/up_saveusercontext.c
+++ b/arch/ceva/src/common/up_saveusercontext.c
@@ -25,7 +25,8 @@
 #include <nuttx/config.h>
 #include <nuttx/irq.h>
 
-#include "svcall.h"
+#include <arch/syscall.h>
+
 #include "up_internal.h"
 
 /****************************************************************************
diff --git a/arch/ceva/src/common/up_signal_dispatch.c 
b/arch/ceva/src/common/up_signal_dispatch.c
index 4065f8e..9f6e709 100644
--- a/arch/ceva/src/common/up_signal_dispatch.c
+++ b/arch/ceva/src/common/up_signal_dispatch.c
@@ -25,7 +25,7 @@
 #include <nuttx/config.h>
 #include <nuttx/arch.h>
 
-#include "svcall.h"
+#include <arch/syscall.h>
 
 #if ((defined(CONFIG_BUILD_PROTECTED) && defined(__KERNEL__)) || \
       defined(CONFIG_BUILD_KERNEL)) && !defined(CONFIG_DISABLE_SIGNALS)
diff --git a/arch/ceva/src/common/up_svcall.c b/arch/ceva/src/common/up_svcall.c
index b7889dd..1635bdb 100644
--- a/arch/ceva/src/common/up_svcall.c
+++ b/arch/ceva/src/common/up_svcall.c
@@ -27,12 +27,12 @@
 #include <string.h>
 #include <assert.h>
 #include <debug.h>
+#include <syscall.h>
 
 #include <nuttx/irq.h>
 #include <nuttx/sched.h>
 #include <nuttx/userspace.h>
 
-#include "svcall.h"
 #include "up_internal.h"
 
 /****************************************************************************
diff --git a/arch/ceva/src/common/up_switchcontext.c 
b/arch/ceva/src/common/up_switchcontext.c
index c7e9a1c..360d089 100644
--- a/arch/ceva/src/common/up_switchcontext.c
+++ b/arch/ceva/src/common/up_switchcontext.c
@@ -22,7 +22,8 @@
  * Included Files
  ****************************************************************************/
 
-#include "svcall.h"
+#include <arch/syscall.h>
+
 #include "up_internal.h"
 
 /****************************************************************************
diff --git a/arch/ceva/src/common/up_task_start.c 
b/arch/ceva/src/common/up_task_start.c
index 62ac279..11bf102 100644
--- a/arch/ceva/src/common/up_task_start.c
+++ b/arch/ceva/src/common/up_task_start.c
@@ -25,7 +25,7 @@
 #include <nuttx/config.h>
 #include <nuttx/arch.h>
 
-#include "svcall.h"
+#include <arch/syscall.h>
 
 #if defined(CONFIG_BUILD_PROTECTED) || defined(CONFIG_BUILD_KERNEL)
 
diff --git a/arch/ceva/src/xc5/up_signal_handler.S 
b/arch/ceva/src/xc5/up_signal_handler.S
index 8d29ba5..8b231b8 100644
--- a/arch/ceva/src/xc5/up_signal_handler.S
+++ b/arch/ceva/src/xc5/up_signal_handler.S
@@ -24,7 +24,7 @@
 
 #include <nuttx/config.h>
 
-#include "svcall.h"
+#include <arch/syscall.h>
 
 #if (defined(CONFIG_BUILD_PROTECTED) && !defined(__KERNEL__)) && \
     !defined(CONFIG_DISABLE_SIGNALS)
@@ -54,7 +54,7 @@
  *
  * Returned Value:
  *   None.  This function does not return in the normal sense.  It returns
- *   via the SYS_signal_handler_return (see svcall.h)
+ *   via the SYS_signal_handler_return (see syscall.h)
  *
  ****************************************************************************/
 
diff --git a/arch/ceva/src/xc5/up_svcall_handler.S 
b/arch/ceva/src/xc5/up_svcall_handler.S
index e955c5c..565753f 100644
--- a/arch/ceva/src/xc5/up_svcall_handler.S
+++ b/arch/ceva/src/xc5/up_svcall_handler.S
@@ -24,7 +24,7 @@
 
 #include <nuttx/config.h>
 
-#include "svcall.h"
+#include <arch/syscall.h>
 
 #ifdef CONFIG_LIB_SYSCALL
 
@@ -59,7 +59,7 @@
  *
  * Returned Value:
  *   None.  This function does not return in the normal sense.  It returns
- *   via the SYS_syscall_return (see svcall.h)
+ *   via the SYS_syscall_return (see syscall.h)
  *
  ****************************************************************************/
 
diff --git a/arch/ceva/src/xc5/vfork.S b/arch/ceva/src/xc5/vfork.S
index 7a125ab46..348e676 100644
--- a/arch/ceva/src/xc5/vfork.S
+++ b/arch/ceva/src/xc5/vfork.S
@@ -25,7 +25,7 @@
 #include <nuttx/config.h>
 #include <nuttx/irq.h>
 
-#include "svcall.h"
+#include <arch/syscall.h>
 
 /****************************************************************************
  * Public Symbols
diff --git a/arch/ceva/src/xm6/up_signal_handler.S 
b/arch/ceva/src/xm6/up_signal_handler.S
index 550405c..07bb3af 100644
--- a/arch/ceva/src/xm6/up_signal_handler.S
+++ b/arch/ceva/src/xm6/up_signal_handler.S
@@ -24,7 +24,7 @@
 
 #include <nuttx/config.h>
 
-#include "svcall.h"
+#include <arch/syscall.h>
 
 #if (defined(CONFIG_BUILD_PROTECTED) && !defined(__KERNEL__)) && \
     !defined(CONFIG_DISABLE_SIGNALS)
@@ -54,7 +54,7 @@
  *
  * Return:
  *   None.  This function does not return in the normal sense.  It returns
- *   via the SYS_signal_handler_return (see svcall.h)
+ *   via the SYS_signal_handler_return (see syscall.h)
  *
  ****************************************************************************/
 
diff --git a/arch/ceva/src/xm6/up_svcall_handler.S 
b/arch/ceva/src/xm6/up_svcall_handler.S
index 9aa63d7..d6b2603 100644
--- a/arch/ceva/src/xm6/up_svcall_handler.S
+++ b/arch/ceva/src/xm6/up_svcall_handler.S
@@ -24,7 +24,7 @@
 
 #include <nuttx/config.h>
 
-#include "svcall.h"
+#include <arch/syscall.h>
 
 #ifdef CONFIG_LIB_SYSCALL
 
@@ -59,7 +59,7 @@
  *
  * Return:
  *   None.  This function does not return in the normal sense.  It returns
- *   via the SYS_syscall_return (see svcall.h)
+ *   via the SYS_syscall_return (see syscall.h)
  *
  ****************************************************************************/
 
diff --git a/arch/ceva/src/xm6/vfork.S b/arch/ceva/src/xm6/vfork.S
index 4982e4d..9aa04a8 100644
--- a/arch/ceva/src/xm6/vfork.S
+++ b/arch/ceva/src/xm6/vfork.S
@@ -25,7 +25,7 @@
 #include <nuttx/config.h>
 #include <nuttx/irq.h>
 
-#include "svcall.h"
+#include <arch/syscall.h>
 
 /****************************************************************************
  * Pre-processor Definitions
diff --git a/arch/or1k/src/common/up_pthread_start.c 
b/arch/or1k/src/common/up_pthread_start.c
index 77481ec..060a711 100644
--- a/arch/or1k/src/common/up_pthread_start.c
+++ b/arch/or1k/src/common/up_pthread_start.c
@@ -27,7 +27,8 @@
 #include <nuttx/arch.h>
 #include <assert.h>
 
-#include "svcall.h"
+#include <arch/syscall.h>
+
 #include "up_internal.h"
 
 #if !defined(CONFIG_BUILD_FLAT) && defined(__KERNEL__) && \
diff --git a/arch/or1k/src/common/up_task_start.c 
b/arch/or1k/src/common/up_task_start.c
index f059611..6e5149d 100644
--- a/arch/or1k/src/common/up_task_start.c
+++ b/arch/or1k/src/common/up_task_start.c
@@ -26,7 +26,8 @@
 #include <nuttx/arch.h>
 #include <assert.h>
 
-#include "svcall.h"
+#include <arch/syscall.h>
+
 #include "up_internal.h"
 
 #ifndef CONFIG_BUILD_FLAT
diff --git a/arch/risc-v/include/syscall.h b/arch/risc-v/include/syscall.h
index b59be33..3bd5189 100644
--- a/arch/risc-v/include/syscall.h
+++ b/arch/risc-v/include/syscall.h
@@ -41,17 +41,31 @@
 
 #define SYS_syscall 0x00
 
-/* The SYS_signal_handler_return is executed here... its value is not always
- * available in this context and so is assumed to be 7.
+/* Configuration ************************************************************/
+
+/* This logic uses three system calls {0,1,2} for context switching and one
+ * for the syscall return.  So a minimum of four syscall values must be
+ * reserved.  If CONFIG_BUILD_PROTECTED is defined, then four more syscall
+ * values must be reserved.
  */
 
-#ifndef SYS_signal_handler_return
-#  define SYS_signal_handler_return (7)
-#elif SYS_signal_handler_return != 7
-#  error "SYS_signal_handler_return was assumed to be 7"
+#ifdef CONFIG_LIB_SYSCALL
+#  ifdef CONFIG_BUILD_PROTECTED
+#    ifndef CONFIG_SYS_RESERVED
+#      error "CONFIG_SYS_RESERVED must be defined to have the value 8"
+#    elif CONFIG_SYS_RESERVED != 8
+#      error "CONFIG_SYS_RESERVED must have the value 8"
+#    endif
+#  else
+#    ifndef CONFIG_SYS_RESERVED
+#      error "CONFIG_SYS_RESERVED must be defined to have the value 4"
+#    elif CONFIG_SYS_RESERVED != 4
+#      error "CONFIG_SYS_RESERVED must have the value 4"
+#    endif
+#  endif
 #endif
 
-/* Configuration ************************************************************/
+/* RV64GC system calls ******************************************************/
 
 /* SYS call 1 and 2 are defined for internal use by the RISC-V port (see
  * arch/risc-v/include/syscall.h). In addition, SYS call 3 is the
@@ -59,13 +73,64 @@
  * therefore, be reserved (0 is not used).
  */
 
-#ifdef CONFIG_BUILD_KERNEL
-#  ifndef CONFIG_SYS_RESERVED
-#    error "CONFIG_SYS_RESERVED must be defined to the value 4"
-#  elif CONFIG_SYS_RESERVED != 4
-#    error "CONFIG_SYS_RESERVED must have the value 4"
-#  endif
-#endif
+#define SYS_save_context          (0)
+
+/* SYS call 1:
+ *
+ * void riscv_fullcontextrestore(uint32_t *restoreregs) noreturn_function;
+ */
+
+#define SYS_restore_context       (1)
+
+/* SYS call 2:
+ *
+ * void riscv_switchcontext(uint32_t *saveregs, uint32_t *restoreregs);
+ */
+
+#define SYS_switch_context        (2)
+
+#ifdef CONFIG_LIB_SYSCALL
+/* SYS call 3:
+ *
+ * void riscv_syscall_return(void);
+ */
+
+#define SYS_syscall_return        (3)
+#endif /* CONFIG_LIB_SYSCALL */
+
+#ifndef CONFIG_BUILD_FLAT
+/* SYS call 4:
+ *
+ * void up_task_start(main_t taskentry, int argc, char *argv[])
+ *        noreturn_function;
+ */
+
+#define SYS_task_start            (4)
+
+/* SYS call 5:
+ *
+ * void up_pthread_start(pthread_startroutine_t startup,
+ *                       pthread_startroutine_t entrypt, pthread_addr_t arg)
+ *        noreturn_function
+ */
+
+#define SYS_pthread_start         (5)
+
+/* SYS call 6:
+ *
+ * void signal_handler(_sa_sigaction_t sighand, int signo,
+ *                     siginfo_t *info, void *ucontext);
+ */
+
+#define SYS_signal_handler        (6)
+
+/* SYS call 7:
+ *
+ * void signal_handler_return(void);
+ */
+
+#define SYS_signal_handler_return (7)
+#endif /* !CONFIG_BUILD_FLAT */
 
 /* sys_call macros **********************************************************/
 
@@ -82,7 +147,6 @@
  * 1: Context Switch Return
  */
 
-#define SYS_save_context (0)
 #define riscv_saveusercontext(saveregs) \
   (int)sys_call1(SYS_save_context, (uintptr_t)saveregs)
 
@@ -91,7 +155,6 @@
  * void riscv_fullcontextrestore(uint32_t *restoreregs) noreturn_function;
  */
 
-#define SYS_restore_context (1)
 #define riscv_fullcontextrestore(restoreregs) \
   sys_call1(SYS_restore_context, (uintptr_t)restoreregs)
 
@@ -100,7 +163,6 @@
  * void riscv_switchcontext(uint32_t *saveregs, uint32_t *restoreregs);
  */
 
-#define SYS_switch_context (2)
 #define riscv_switchcontext(saveregs, restoreregs) \
   sys_call2(SYS_switch_context, (uintptr_t)saveregs, (uintptr_t)restoreregs)
 
@@ -110,7 +172,6 @@
  * void riscv_syscall_return(void);
  */
 
-#define SYS_syscall_return (3)
 #define riscv_syscall_return() sys_call0(SYS_syscall_return)
 
 #endif
diff --git a/arch/risc-v/src/common/riscv_pthread_start.c 
b/arch/risc-v/src/common/riscv_pthread_start.c
index a625385..8dd295a 100644
--- a/arch/risc-v/src/common/riscv_pthread_start.c
+++ b/arch/risc-v/src/common/riscv_pthread_start.c
@@ -27,7 +27,8 @@
 #include <nuttx/arch.h>
 #include <assert.h>
 
-#include "svcall.h"
+#include <arch/syscall.h>
+
 #include "riscv_internal.h"
 
 #if !defined(CONFIG_BUILD_FLAT) && defined(__KERNEL__) && \
diff --git a/arch/risc-v/src/common/riscv_signal_dispatch.c 
b/arch/risc-v/src/common/riscv_signal_dispatch.c
index 35b7660..b322053 100644
--- a/arch/risc-v/src/common/riscv_signal_dispatch.c
+++ b/arch/risc-v/src/common/riscv_signal_dispatch.c
@@ -25,7 +25,8 @@
 #include <nuttx/config.h>
 #include <nuttx/arch.h>
 
-#include "svcall.h"
+#include <arch/syscall.h>
+
 #include "riscv_internal.h"
 
 #if !defined(CONFIG_BUILD_FLAT) && defined(__KERNEL__)
diff --git a/arch/risc-v/src/common/riscv_signal_handler.S 
b/arch/risc-v/src/common/riscv_signal_handler.S
index df3d4a7..52d4704 100644
--- a/arch/risc-v/src/common/riscv_signal_handler.S
+++ b/arch/risc-v/src/common/riscv_signal_handler.S
@@ -57,7 +57,7 @@
  *
  * Returned Value:
  *   None.  This function does not return in the normal sense.  It returns
- *   via the SYS_signal_handler_return (see svcall.h)
+ *   via the SYS_signal_handler_return (see syscall.h)
  *
  ****************************************************************************/
 
diff --git a/arch/risc-v/src/common/riscv_swint.c 
b/arch/risc-v/src/common/riscv_swint.c
index de174f6..38f4cde 100644
--- a/arch/risc-v/src/common/riscv_swint.c
+++ b/arch/risc-v/src/common/riscv_swint.c
@@ -29,6 +29,7 @@
 #include <string.h>
 #include <assert.h>
 #include <debug.h>
+#include <syscall.h>
 
 #include <arch/irq.h>
 #include <nuttx/sched.h>
@@ -39,7 +40,6 @@
 #endif
 
 #include "signal/signal.h"
-#include "svcall.h"
 #include "riscv_internal.h"
 
 /****************************************************************************
diff --git a/arch/risc-v/src/common/riscv_task_start.c 
b/arch/risc-v/src/common/riscv_task_start.c
index 417db57..d8cc966 100644
--- a/arch/risc-v/src/common/riscv_task_start.c
+++ b/arch/risc-v/src/common/riscv_task_start.c
@@ -26,7 +26,8 @@
 #include <nuttx/arch.h>
 #include <assert.h>
 
-#include "svcall.h"
+#include <arch/syscall.h>
+
 #include "riscv_internal.h"
 
 #ifndef CONFIG_BUILD_FLAT
diff --git a/arch/risc-v/src/common/svcall.h b/arch/risc-v/src/common/svcall.h
deleted file mode 100644
index 6f93f60..0000000
--- a/arch/risc-v/src/common/svcall.h
+++ /dev/null
@@ -1,131 +0,0 @@
-/****************************************************************************
- * arch/risc-v/src/common/svcall.h
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.  The
- * ASF licenses this file to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the
- * License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
- * License for the specific language governing permissions and limitations
- * under the License.
- *
- ****************************************************************************/
-
-#ifndef __ARCH_RISCV_SRC_COMMON_SVCALL_H
-#define __ARCH_RISCV_SRC_COMMON_SVCALL_H
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#ifdef CONFIG_LIB_SYSCALL
-#  include <syscall.h>
-#endif
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/* Configuration ************************************************************/
-
-/* This logic uses three system calls {0,1,2} for context switching and one
- * for the syscall return.  So a minimum of four syscall values must be
- * reserved.  If CONFIG_BUILD_PROTECTED is defined, then four more syscall
- * values must be reserved.
- */
-
-#ifdef CONFIG_LIB_SYSCALL
-#  ifdef CONFIG_BUILD_PROTECTED
-#    ifndef CONFIG_SYS_RESERVED
-#      error "CONFIG_SYS_RESERVED must be defined to have the value 8"
-#    elif CONFIG_SYS_RESERVED != 8
-#      error "CONFIG_SYS_RESERVED must have the value 8"
-#    endif
-#  else
-#    ifndef CONFIG_SYS_RESERVED
-#      error "CONFIG_SYS_RESERVED must be defined to have the value 4"
-#    elif CONFIG_SYS_RESERVED != 4
-#      error "CONFIG_SYS_RESERVED must have the value 4"
-#    endif
-#  endif
-#endif
-
-/* RISC-V system calls ******************************************************/
-
-/* SYS call 0:
- *
- * int riscv_saveusercontext(uint32_t *saveregs);
- */
-
-#define SYS_save_context          (0)
-
-/* SYS call 1:
- *
- * void riscv_fullcontextrestore(uint32_t *restoreregs) noreturn_function;
- */
-
-#define SYS_restore_context       (1)
-
-/* SYS call 2:
- *
- * void riscv_switchcontext(uint32_t *saveregs, uint32_t *restoreregs);
- */
-
-#define SYS_switch_context        (2)
-
-#ifndef CONFIG_BUILD_FLAT
-#ifdef CONFIG_LIB_SYSCALL
-/* SYS call 3:
- *
- * void riscv_syscall_return(void);
- */
-
-#define SYS_syscall_return        (3)
-
-#ifdef CONFIG_BUILD_PROTECTED
-/* SYS call 4:
- *
- * void up_task_start(main_t taskentry, int argc, char *argv[])
- *        noreturn_function;
- */
-
-#define SYS_task_start            (4)
-/* SYS call 6:
- *
- * void signal_handler(_sa_sigaction_t sighand, int signo,
- *                     siginfo_t *info, void *ucontext);
- */
-
-#define SYS_signal_handler        (6)
-
-/* SYS call 7:
- *
- * void signal_handler_return(void);
- */
-
-#define SYS_signal_handler_return (7)
-
-#endif /* CONFIG_BUILD_PROTECTED */
-
-/* SYS call 5:
- *
- * void up_pthread_start(pthread_startroutine_t startup,
- *                       pthread_startroutine_t entrypt, pthread_addr_t arg)
- *        noreturn_function
- */
-
-#define SYS_pthread_start         (5)
-
-#endif /* !CONFIG_BUILD_FLAT */
-#endif /* CONFIG_LIB_SYSCALL */
-
-#endif /* __ARCH_RISCV_SRC_COMMON_SVCALL_H */
diff --git a/arch/xtensa/include/syscall.h b/arch/xtensa/include/syscall.h
index 27150c9..d4330d7 100644
--- a/arch/xtensa/include/syscall.h
+++ b/arch/xtensa/include/syscall.h
@@ -100,7 +100,6 @@
 
 #define SYS_switch_context        (2)
 
-#ifndef CONFIG_BUILD_FLAT
 #ifdef CONFIG_LIB_SYSCALL
 
 /* SYS call 3:
@@ -109,9 +108,9 @@
  */
 
 #define SYS_syscall_return        (3)
+#endif /* CONFIG_LIB_SYSCALL */
 
-#ifdef CONFIG_BUILD_PROTECTED
-
+#ifndef CONFIG_BUILD_FLAT
 /* SYS call 4:
  *
  * void up_task_start(main_t taskentry, int argc, char *argv[])
@@ -120,6 +119,15 @@
 
 #define SYS_task_start            (4)
 
+/* SYS call 5:
+ *
+ * void up_pthread_start(pthread_trampoline_t startup,
+ *                       pthread_startroutine_t entrypt, pthread_addr_t arg)
+ *        noreturn_function
+ */
+
+#define SYS_pthread_start         (5)
+
 /* SYS call 6:
  *
  * void signal_handler(_sa_sigaction_t sighand, int signo,
@@ -134,20 +142,7 @@
  */
 
 #define SYS_signal_handler_return (7)
-
-#endif /* CONFIG_BUILD_PROTECTED */
-
-/* SYS call 5:
- *
- * void up_pthread_start(pthread_trampoline_t startup,
- *                       pthread_startroutine_t entrypt, pthread_addr_t arg)
- *        noreturn_function
- */
-
-#define SYS_pthread_start         (5)
-
 #endif /* !CONFIG_BUILD_FLAT */
-#endif /* CONFIG_LIB_SYSCALL */
 
 /****************************************************************************
  * Public Types

Reply via email to