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