]> git.sur5r.net Git - u-boot/blob - arch/arm/lib/vectors_m.S
Merge branch 'master' of git://git.denx.de/u-boot-mips
[u-boot] / arch / arm / lib / vectors_m.S
1 /*
2  * (C) Copyright 2015
3  * Kamil Lulko, <kamil.lulko@gmail.com>
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
38 ENTRY(_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