arch: arm: move nmi to common location
The nmi_on_reset.S functions are used by all ARM platforms. It makes no sense to repeat the same code for all platforms. Moving the code from each SOC implementation to arch/arm/core. The same treatment for the NMI_INIT() macro. Moving it from a per SOC implementation to the include/arch/arm/cortex_m/nmi.h. Change-Id: I574d8880a44046cc7b9e1b635e80d6e83657b8c1 Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
This commit is contained in:
parent
27a3f8bb10
commit
983ec93bd4
11 changed files with 23 additions and 84 deletions
|
@ -4,7 +4,7 @@ ccflags-y +=-I$(srctree)/arch/$(ARCH)/platforms/$(SOC_NAME)
|
|||
asflags-y = $(ccflags-y)
|
||||
|
||||
obj-y = vector_table.o reset.o \
|
||||
prep_c.o scs.o scb.o nmi.o \
|
||||
nmi_on_reset.o prep_c.o scs.o scb.o nmi.o \
|
||||
exc_manage.o exc_wrapper.o
|
||||
|
||||
obj-$(CONFIG_ERRNO) += errno.o
|
||||
|
|
39
arch/arm/core/cortex_m/nmi_on_reset.S
Normal file
39
arch/arm/core/cortex_m/nmi_on_reset.S
Normal file
|
@ -0,0 +1,39 @@
|
|||
/*
|
||||
* Copyright (c) 2013-2014 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
|
||||
* @brief Default basic NMI handler before the kernel is up
|
||||
*
|
||||
* Provide a default handler for NMI before the system is up. The default action
|
||||
* is to hard hang, sleeping.
|
||||
*
|
||||
* This might be preferable than rebooting to help debugging, or because
|
||||
* rebooting might trigger the exact same problem over and over.
|
||||
*/
|
||||
|
||||
#define _ASMLANGUAGE
|
||||
|
||||
#include <toolchain.h>
|
||||
#include <sections.h>
|
||||
|
||||
_ASM_FILE_PROLOGUE
|
||||
|
||||
GTEXT(_SysNmiOnReset)
|
||||
|
||||
SECTION_FUNC(TEXT, _SysNmiOnReset)
|
||||
wfi
|
||||
b _SysNmiOnReset
|
Loading…
Add table
Add a link
Reference in a new issue