summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorRicardo Salveti <ricardo.salveti@linaro.org>2016-10-03 22:47:21 -0400
committerAnas Nashif <nashif@linux.intel.com>2016-10-07 14:40:17 +0000
commit1450f7bae4808a5effcf7db82b38f007b8ffc794 (patch)
tree4765a232520cc842c6de7c21c4c2fe9d51953eef /arch
parent706f1b8bd8dfb752e182dc23fa1e56024b840fe9 (diff)
arm: remove exc_wrapper.S
Not used anymore as the support for dynamic IRQs was removed by commit 844e212. Change-Id: I624bbd777b2dbcbf905cedc61e63cef21e8a0bce Signed-off-by: Ricardo Salveti <ricardo.salveti@linaro.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/core/cortex_m/Makefile2
-rw-r--r--arch/arm/core/cortex_m/exc_wrapper.S64
2 files changed, 1 insertions, 65 deletions
diff --git a/arch/arm/core/cortex_m/Makefile b/arch/arm/core/cortex_m/Makefile
index 48468bb48..9eda5077b 100644
--- a/arch/arm/core/cortex_m/Makefile
+++ b/arch/arm/core/cortex_m/Makefile
@@ -10,7 +10,7 @@ asflags-y = $(ccflags-y)
obj-y = vector_table.o reset.o \
nmi_on_reset.o prep_c.o scs.o scb.o nmi.o \
- exc_manage.o exc_wrapper.o
+ exc_manage.o
obj-$(CONFIG_IRQ_VECTOR_TABLE_SOC) += irq_vector_table.o
obj-$(CONFIG_SW_ISR_TABLE) += sw_isr_table.o
diff --git a/arch/arm/core/cortex_m/exc_wrapper.S b/arch/arm/core/cortex_m/exc_wrapper.S
deleted file mode 100644
index 4ad1285a7..000000000
--- a/arch/arm/core/cortex_m/exc_wrapper.S
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (c) 2015 Wind River Systems, Inc.
- *
- * Licensed 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.
- */
-
-/**
- * @file dynamic exception handler wrapper
- */
-
-#define _ASMLANGUAGE
-
-#include <toolchain.h>
-#include <arch/cpu.h>
-
-_ASM_FILE_PROLOGUE
-
-GDATA(_sw_exc_table)
-GTEXT(_exc_wrapper)
-
-SECTION_FUNC(TEXT, _exc_wrapper)
-
- _GDB_STUB_EXC_ENTRY
-
- ldr ip, =_SCS_ICSR
- ldr ip, [ip]
- ands.w ip, #_SCS_ICSR_RETTOBASE
-
- itte eq /* is the RETTOBASE bit zero ? */
- mrseq r0, MSP /* if so, we're not returning to thread mode, thus this
- * is a nested exception: the stack frame is on the MSP */
- addeq.w r0, #4 /* ESF returned here is off by 4 because of the push {r2}
- * in_GDB_STUB_EXC_ENTRY */
- mrsne r0, PSP /* if not, we are returning to thread mode, thus this is
- * not a nested exception: the stack frame is on the PSP */
-
- /* r0 now contains the pointer to the full ESF */
-
- push {lr} /* lr is now the first item on the stack */
-
- ldr r1, =_sw_exc_table
-
- mrs r2, IPSR /* get exception number */
-
- /* find and call handler: table is 4-bytes wide, shift index by 2 */
- ldr r1, [r1, r2, LSL #2]
- blx r1
-
- pop {lr}
-
- /* exception return is done in _ExcExit(), including _GDB_STUB_EXC_EXIT */
- b _ExcExit
-
- .end