diff options
author | Ricardo Salveti <ricardo.salveti@linaro.org> | 2016-10-03 22:47:21 -0400 |
---|---|---|
committer | Anas Nashif <nashif@linux.intel.com> | 2016-10-07 14:40:17 +0000 |
commit | 1450f7bae4808a5effcf7db82b38f007b8ffc794 (patch) | |
tree | 4765a232520cc842c6de7c21c4c2fe9d51953eef /arch | |
parent | 706f1b8bd8dfb752e182dc23fa1e56024b840fe9 (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/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/core/cortex_m/exc_wrapper.S | 64 |
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 |