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

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

commit 9473cee85bd82df7c610d88245a2f3e794e9f8fb
Author: buxiasen <[email protected]>
AuthorDate: Wed Dec 4 22:03:46 2024 +0800

    Revert "arm/cxd56: use chip specific vectors to allow smpcall update regs"
    
    This reverts commit 4a1afab88ecff67fc1c726eb4a843fee12364807.
---
 arch/arm/Kconfig                     |   1 -
 arch/arm/src/cxd56xx/CMakeLists.txt  |   3 +-
 arch/arm/src/cxd56xx/Make.defs       |   1 -
 arch/arm/src/cxd56xx/cxd56_vectors.c | 107 -----------------------------------
 4 files changed, 1 insertion(+), 111 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 4af4b08c9f..0c3a390f07 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -687,7 +687,6 @@ config ARCH_CHIP_CXD56XX
        select ARCH_HAVE_MATH_H
        select ARCH_HAVE_I2CRESET
        select ARCH_HAVE_CUSTOM_TESTSET
-       select ARCH_HAVE_CUSTOM_VECTORS
        select LIBC_ARCH_ATOMIC if SMP
        ---help---
                Sony CXD56XX (ARM Cortex-M4) architectures
diff --git a/arch/arm/src/cxd56xx/CMakeLists.txt 
b/arch/arm/src/cxd56xx/CMakeLists.txt
index be3ae081c4..31adb76bc8 100644
--- a/arch/arm/src/cxd56xx/CMakeLists.txt
+++ b/arch/arm/src/cxd56xx/CMakeLists.txt
@@ -37,8 +37,7 @@ set(SRCS
     cxd56_icc.c
     cxd56_powermgr.c
     cxd56_farapi.c
-    cxd56_sysctl.c
-    cxd56_vectors.c)
+    cxd56_sysctl.c)
 
 if(CONFIG_SMP)
   list(APPEND SRCS cxd56_cpuidlestack.c)
diff --git a/arch/arm/src/cxd56xx/Make.defs b/arch/arm/src/cxd56xx/Make.defs
index fd4371897c..eadc9f8332 100644
--- a/arch/arm/src/cxd56xx/Make.defs
+++ b/arch/arm/src/cxd56xx/Make.defs
@@ -37,7 +37,6 @@ CHIP_CSRCS += cxd56_icc.c
 CHIP_CSRCS += cxd56_powermgr.c
 CHIP_CSRCS += cxd56_farapi.c
 CHIP_CSRCS += cxd56_sysctl.c
-CHIP_CSRCS += cxd56_vectors.c
 
 ifeq ($(CONFIG_SMP), y)
 CHIP_CSRCS += cxd56_cpuidlestack.c
diff --git a/arch/arm/src/cxd56xx/cxd56_vectors.c 
b/arch/arm/src/cxd56xx/cxd56_vectors.c
deleted file mode 100644
index 1b1b42d90e..0000000000
--- a/arch/arm/src/cxd56xx/cxd56_vectors.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/****************************************************************************
- * arch/arm/src/cxd56xx/cxd56_vectors.c
- *
- *   Copyright (C) 2012 Michael Smith. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- *    used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include "chip.h"
-#include "arm_internal.h"
-#include "ram_vectors.h"
-#include "nvic.h"
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/* Chip-specific entrypoint */
-
-extern void __start(void);
-
-static void start(void)
-{
-  /* Zero lr to mark the end of backtrace */
-
-  asm volatile ("mov lr, #0\n\t"
-                "b  __start\n\t");
-}
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/* Common exception entrypoint */
-
-extern void exception_common(void);
-extern void exception_direct(void);
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-#define IDLE_STACK      (_ebss + CONFIG_IDLETHREAD_STACKSIZE)
-
-/****************************************************************************
- * Public data
- ****************************************************************************/
-
-/* The cx56 use CXD56_IRQ_SMP_CALL to do SMP call.
- * When sig dispatch do up_schedule_sigaction, need to make a new frame to
- * run arm_sigdeliver. But the exception_direct cannot handle xcp.regs as we
- * did not update the regs when c-function expection handler is called.
- *
- * We need to use exception_common to handle SMP call.
- */
-
-const void * const _vectors[] locate_data(".vectors")
-  aligned_data(VECTAB_ALIGN) =
-{
-  /* Initial stack */
-
-  IDLE_STACK,
-
-  /* Reset exception handler */
-
-  start,
-
-  /* Vectors 2 - n point directly at the generic handler */
-
-  [2 ... NVIC_IRQ_PENDSV] = &exception_common,
-  [NVIC_IRQ_SYSTICK ... (CXD56_IRQ_SMP_CALL - 1)]
-                          = &exception_direct,
-  [CXD56_IRQ_SMP_CALL]    = &exception_common,
-  [(CXD56_IRQ_SMP_CALL + 1) ... (15 + ARMV7M_PERIPHERAL_INTERRUPTS)]
-                          = &exception_direct
-};

Reply via email to