1/* 2 * (C) Copyright 2015 3 * Kamil Lulko, <rev13@wp.pl> 4 * 5 * SPDX-License-Identifier: GPL-2.0+ 6 */ 7 8#include <config.h> 9#include <asm/armv7m.h> 10#include <linux/linkage.h> 11 12.type __hard_fault_entry, %function 13__hard_fault_entry: 14 mov r0, sp @ pass auto-saved registers as argument 15 b do_hard_fault 16 17.type __mm_fault_entry, %function 18__mm_fault_entry: 19 mov r0, sp @ pass auto-saved registers as argument 20 b do_mm_fault 21 22.type __bus_fault_entry, %function 23__bus_fault_entry: 24 mov r0, sp @ pass auto-saved registers as argument 25 b do_bus_fault 26 27.type __usage_fault_entry, %function 28__usage_fault_entry: 29 mov r0, sp @ pass auto-saved registers as argument 30 b do_usage_fault 31 32.type __invalid_entry, %function 33__invalid_entry: 34 mov r0, sp @ pass auto-saved registers as argument 35 b do_invalid_entry 36 37 .section .vectors 38ENTRY(_start) 39 .long CONFIG_SYS_INIT_SP_ADDR @ 0 - Reset stack pointer 40 .long reset @ 1 - Reset 41 .long __invalid_entry @ 2 - NMI 42 .long __hard_fault_entry @ 3 - HardFault 43 .long __mm_fault_entry @ 4 - MemManage 44 .long __bus_fault_entry @ 5 - BusFault 45 .long __usage_fault_entry @ 6 - UsageFault 46 .long __invalid_entry @ 7 - Reserved 47 .long __invalid_entry @ 8 - Reserved 48 .long __invalid_entry @ 9 - Reserved 49 .long __invalid_entry @ 10 - Reserved 50 .long __invalid_entry @ 11 - SVCall 51 .long __invalid_entry @ 12 - Debug Monitor 52 .long __invalid_entry @ 13 - Reserved 53 .long __invalid_entry @ 14 - PendSV 54 .long __invalid_entry @ 15 - SysTick 55 .rept 255 - 16 56 .long __invalid_entry @ 16..255 - External Interrupts 57 .endr 58