blob: 7d2d55c7f9facfb3d54f966f866783e457b65a62 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
rev13@wp.plb3b57e82015-03-01 12:44:39 +01002/*
3 * (C) Copyright 2015
Kamil Lulkodecd33b2015-11-29 11:50:53 +01004 * Kamil Lulko, <kamil.lulko@gmail.com>
rev13@wp.plb3b57e82015-03-01 12:44:39 +01005 */
6
7#include <config.h>
Vikas Manocha976e3422018-08-31 16:57:06 -07008#include <asm/assembler.h>
rev13@wp.plb3b57e82015-03-01 12:44:39 +01009#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