blob: cf14a34ca6313ea3f789456a870deef07d16fac0 [file] [log] [blame]
rev13@wp.plb3b57e82015-03-01 12:44:39 +01001/*
2 * (C) Copyright 2015
Kamil Lulkodecd33b2015-11-29 11:50:53 +01003 * Kamil Lulko, <kamil.lulko@gmail.com>
rev13@wp.plb3b57e82015-03-01 12:44:39 +01004 *
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