You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by pk...@apache.org on 2022/04/17 20:30:48 UTC
[incubator-nuttx] branch master updated: arch/arm: Move arm_signal_dispatch.c to common folder
This is an automated email from the ASF dual-hosted git repository.
pkarashchenko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
The following commit(s) were added to refs/heads/master by this push:
new 373363d750 arch/arm: Move arm_signal_dispatch.c to common folder
373363d750 is described below
commit 373363d750808dff11370a03e855ea427a2c6ffa
Author: Xiang Xiao <xi...@xiaomi.com>
AuthorDate: Mon Apr 18 01:53:32 2022 +0800
arch/arm: Move arm_signal_dispatch.c to common folder
Signed-off-by: Xiang Xiao <xi...@xiaomi.com>
---
arch/arm/src/armv6-m/arm_signal_dispatch.c | 76 ------------------
arch/arm/src/armv7-a/arm_signal_dispatch.c | 92 ----------------------
arch/arm/src/armv7-r/arm_signal_dispatch.c | 92 ----------------------
arch/arm/src/armv8-m/arm_signal_dispatch.c | 76 ------------------
.../src/{armv7-m => common}/arm_signal_dispatch.c | 4 +-
5 files changed, 2 insertions(+), 338 deletions(-)
diff --git a/arch/arm/src/armv6-m/arm_signal_dispatch.c b/arch/arm/src/armv6-m/arm_signal_dispatch.c
deleted file mode 100644
index 932a812d05..0000000000
--- a/arch/arm/src/armv6-m/arm_signal_dispatch.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
- * arch/arm/src/armv6-m/arm_signal_dispatch.c
- *
- * 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.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/arch.h>
-
-#include <arch/syscall.h>
-
-#include "arm_internal.h"
-
-#if !defined(CONFIG_BUILD_FLAT) && defined(__KERNEL__)
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: up_signal_dispatch
- *
- * Description:
- * In this kernel mode build, this function will be called to execute a
- * a signal handler in user-space. When the signal is delivered, a
- * kernel-mode stub will first run to perform some housekeeping functions.
- * This kernel-mode stub will then be called transfer control to the user
- * mode signal handler by calling this function.
- *
- * Normally the user-mode signalling handling stub will also execute
- * before the ultimate signal handler is called. See
- * arch/arm/src/armv6-m/arm_signal_handler.S. This function is the
- * user-space, signal handler trampoline function. It is called from
- * up_signal_dispatch() in user-mode.
- *
- * Input Parameters:
- * sighand - The address user-space signal handling function
- * signo, info, and ucontext - Standard arguments to be passed to the
- * signal handling function.
- *
- * Returned Value:
- * None. This function does not return in the normal sense. It returns
- * via an architecture specific system call made by up_signal_handler().
- * However, this will look like a normal return by the caller of
- * up_signal_dispatch.
- *
- ****************************************************************************/
-
-void up_signal_dispatch(_sa_sigaction_t sighand, int signo,
- FAR siginfo_t *info, FAR void *ucontext)
-{
- /* Let sys_call4() do all of the work */
-
- sys_call4(SYS_signal_handler, (uintptr_t)sighand, (uintptr_t)signo,
- (uintptr_t)info, (uintptr_t)ucontext);
-}
-
-#endif /* !CONFIG_BUILD_FLAT && __KERNEL__ */
diff --git a/arch/arm/src/armv7-a/arm_signal_dispatch.c b/arch/arm/src/armv7-a/arm_signal_dispatch.c
deleted file mode 100644
index 8a94b46f75..0000000000
--- a/arch/arm/src/armv7-a/arm_signal_dispatch.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
- * arch/arm/src/armv7-a/arm_signal_dispatch.c
- *
- * 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.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/arch.h>
-
-#include <arch/syscall.h>
-
-#include "pgalloc.h"
-#include "arm_internal.h"
-
-#if !defined(CONFIG_BUILD_FLAT) && defined(__KERNEL__)
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: up_signal_dispatch
- *
- * Description:
- * In this kernel mode build, this function will be called to execute a
- * a signal handler in user-space. When the signal is delivered, a
- * kernel-mode stub will first run to perform some housekeeping functions.
- * This kernel-mode stub will then be called transfer control to the user
- * mode signal handler by calling this function.
- *
- * Normally the user-mode signalling handling stub will also execute
- * before the ultimate signal handler is called. See
- * arch/arm/src/armv7-a/crt0.c. This function is the
- * user-space, signal handler trampoline function. It is called from
- * up_signal_dispatch() in user-mode.
- *
- * Input Parameters:
- * sighand - The address user-space signal handling function
- * signo, info, and ucontext - Standard arguments to be passed to the
- * signal handling function.
- *
- * Returned Value:
- * None. This function does not return in the normal sense. It returns
- * via an architecture specific system call made by up_signal_handler().
- * However, this will look like a normal return by the caller of
- * up_signal_dispatch.
- *
- ****************************************************************************/
-
-void up_signal_dispatch(_sa_sigaction_t sighand, int signo,
- FAR siginfo_t *info, FAR void *ucontext)
-{
- /* We are signalling a user group, but does the signal handler lie in the
- * user address space? Or the kernel address space? The OS does
- * intercept some signals for its own purpose (such as the death-of-child
- * signal.
- */
-
- if (arm_uservaddr((uintptr_t)sighand))
- {
- /* Yes.. Let sys_call4() do all of the work to get us into user space */
-
- sys_call4(SYS_signal_handler, (uintptr_t)sighand, (uintptr_t)signo,
- (uintptr_t)info, (uintptr_t)ucontext);
- }
- else
- {
- /* No.. we are already in kernel mode so just call the handler */
-
- sighand(signo, info, ucontext);
- }
-}
-
-#endif /* !CONFIG_BUILD_FLAT && __KERNEL__ */
diff --git a/arch/arm/src/armv7-r/arm_signal_dispatch.c b/arch/arm/src/armv7-r/arm_signal_dispatch.c
deleted file mode 100644
index a229d42851..0000000000
--- a/arch/arm/src/armv7-r/arm_signal_dispatch.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
- * arch/arm/src/armv7-r/arm_signal_dispatch.c
- *
- * 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.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/arch.h>
-
-#include <arch/syscall.h>
-
-#include "pgalloc.h"
-#include "arm_internal.h"
-
-#if !defined(CONFIG_BUILD_FLAT) && defined(__KERNEL__)
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: up_signal_dispatch
- *
- * Description:
- * In the protected mode build, this function will be called to execute a
- * a signal handler in user-space. When the signal is delivered, a
- * kernel-mode stub will first run to perform some housekeeping functions.
- * This kernel-mode stub will then be called transfer control to the user
- * mode signal handler by calling this function.
- *
- * Normally the a user-mode signalling handling stub will also execute
- * before the ultimate signal handler is called. See
- * arch/arm/src/armv[6\7]/up_signal_handler. This function is the
- * user-space, signal handler trampoline function. It is called from
- * up_signal_dispatch() in user-mode.
- *
- * Input Parameters:
- * sighand - The address user-space signal handling function
- * signo, info, and ucontext - Standard arguments to be passed to the
- * signal handling function.
- *
- * Returned Value:
- * None. This function does not return in the normal sense. It returns
- * via an architecture specific system call made by up_signal_handler().
- * However, this will look like a normal return by the caller of
- * up_signal_dispatch.
- *
- ****************************************************************************/
-
-void up_signal_dispatch(_sa_sigaction_t sighand, int signo,
- FAR siginfo_t *info, FAR void *ucontext)
-{
- /* We are signalling a user group, but does the signal handler lie in the
- * user address space? Or the kernel address space? The OS does
- * intercept some signals for its own purpose (such as the death-of-child
- * signal.
- */
-
- if (arm_uservaddr((uintptr_t)sighand))
- {
- /* Yes.. Let sys_call4() do all of the work to get us into user space */
-
- sys_call4(SYS_signal_handler, (uintptr_t)sighand, (uintptr_t)signo,
- (uintptr_t)info, (uintptr_t)ucontext);
- }
- else
- {
- /* No.. we are already in kernel mode so just call the handler */
-
- sighand(signo, info, ucontext);
- }
-}
-
-#endif /* !CONFIG_BUILD_FLAT && __KERNEL__ */
diff --git a/arch/arm/src/armv8-m/arm_signal_dispatch.c b/arch/arm/src/armv8-m/arm_signal_dispatch.c
deleted file mode 100644
index 62baf3cba1..0000000000
--- a/arch/arm/src/armv8-m/arm_signal_dispatch.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
- * arch/arm/src/armv8-m/arm_signal_dispatch.c
- *
- * 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.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/arch.h>
-
-#include <arch/syscall.h>
-
-#include "arm_internal.h"
-
-#if !defined(CONFIG_BUILD_FLAT) && defined(__KERNEL__)
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: up_signal_dispatch
- *
- * Description:
- * In the kernel mode build, this function will be called to execute a
- * a signal handler in user-space. When the signal is delivered, a
- * kernel-mode stub will first run to perform some housekeeping functions.
- * This kernel-mode stub will then be called transfer control to the user
- * mode signal handler by calling this function.
- *
- * Normally the user-mode signaling handling stub will also execute
- * before the ultimate signal handler is called. See
- * arch/arm/src/armv8-m/gnu/arm_signal_handler.S. This function is the
- * user-space, signal handler trampoline function. It is called from
- * up_signal_dispatch() in user-mode.
- *
- * Input Parameters:
- * sighand - The address user-space signal handling function
- * signo, info, and ucontext - Standard arguments to be passed to the
- * signal handling function.
- *
- * Returned Value:
- * None. This function does not return in the normal sense. It returns
- * via an architecture specific system call made by up_signal_handler().
- * However, this will look like a normal return by the caller of
- * up_signal_dispatch.
- *
- ****************************************************************************/
-
-void up_signal_dispatch(_sa_sigaction_t sighand, int signo,
- FAR siginfo_t *info, FAR void *ucontext)
-{
- /* Let sys_call4() do all of the work */
-
- sys_call4(SYS_signal_handler, (uintptr_t)sighand, (uintptr_t)signo,
- (uintptr_t)info, (uintptr_t)ucontext);
-}
-
-#endif /* !CONFIG_BUILD_FLAT && __KERNEL__ */
diff --git a/arch/arm/src/armv7-m/arm_signal_dispatch.c b/arch/arm/src/common/arm_signal_dispatch.c
similarity index 96%
rename from arch/arm/src/armv7-m/arm_signal_dispatch.c
rename to arch/arm/src/common/arm_signal_dispatch.c
index 4b6b4720d1..ff86c44e27 100644
--- a/arch/arm/src/armv7-m/arm_signal_dispatch.c
+++ b/arch/arm/src/common/arm_signal_dispatch.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * arch/arm/src/armv7-m/arm_signal_dispatch.c
+ * arch/arm/src/common/arm_signal_dispatch.c
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -47,7 +47,7 @@
*
* Normally the user-mode signaling handling stub will also execute
* before the ultimate signal handler is called. See
- * arch/arm/src/armv7-m/gnu/arm_signal_handler.S. This function is the
+ * arch/arm/src/armvx-y/arm_signal_handler.S. This function is the
* user-space, signal handler trampoline function. It is called from
* up_signal_dispatch() in user-mode.
*