xref: /openbmc/u-boot/arch/arm/lib/vectors_m.S (revision d1e15041)
183d290c5STom Rini/* SPDX-License-Identifier: GPL-2.0+ */
212d8a729Srev13@wp.pl/*
312d8a729Srev13@wp.pl * (C) Copyright 2015
45be93569SKamil Lulko * Kamil Lulko, <kamil.lulko@gmail.com>
512d8a729Srev13@wp.pl */
612d8a729Srev13@wp.pl
712d8a729Srev13@wp.pl#include <config.h>
8*d22336aaSVikas Manocha#include <asm/assembler.h>
912d8a729Srev13@wp.pl#include <linux/linkage.h>
1012d8a729Srev13@wp.pl
1112d8a729Srev13@wp.pl.type __hard_fault_entry, %function
1212d8a729Srev13@wp.pl__hard_fault_entry:
1312d8a729Srev13@wp.pl	mov	r0, sp	@ pass auto-saved registers as argument
1412d8a729Srev13@wp.pl	b	do_hard_fault
1512d8a729Srev13@wp.pl
1612d8a729Srev13@wp.pl.type __mm_fault_entry, %function
1712d8a729Srev13@wp.pl__mm_fault_entry:
1812d8a729Srev13@wp.pl	mov	r0, sp	@ pass auto-saved registers as argument
1912d8a729Srev13@wp.pl	b	do_mm_fault
2012d8a729Srev13@wp.pl
2112d8a729Srev13@wp.pl.type __bus_fault_entry, %function
2212d8a729Srev13@wp.pl__bus_fault_entry:
2312d8a729Srev13@wp.pl	mov	r0, sp	@ pass auto-saved registers as argument
2412d8a729Srev13@wp.pl	b	do_bus_fault
2512d8a729Srev13@wp.pl
2612d8a729Srev13@wp.pl.type __usage_fault_entry, %function
2712d8a729Srev13@wp.pl__usage_fault_entry:
2812d8a729Srev13@wp.pl	mov	r0, sp	@ pass auto-saved registers as argument
2912d8a729Srev13@wp.pl	b	do_usage_fault
3012d8a729Srev13@wp.pl
3112d8a729Srev13@wp.pl.type __invalid_entry, %function
3212d8a729Srev13@wp.pl__invalid_entry:
3312d8a729Srev13@wp.pl	mov	r0, sp	@ pass auto-saved registers as argument
3412d8a729Srev13@wp.pl	b	do_invalid_entry
3512d8a729Srev13@wp.pl
3612d8a729Srev13@wp.pl   .section  .vectors
3712d8a729Srev13@wp.plENTRY(_start)
3812d8a729Srev13@wp.pl	.long	CONFIG_SYS_INIT_SP_ADDR		@ 0 - Reset stack pointer
3912d8a729Srev13@wp.pl	.long	reset				@ 1 - Reset
4012d8a729Srev13@wp.pl	.long	__invalid_entry			@ 2 - NMI
4112d8a729Srev13@wp.pl	.long	__hard_fault_entry		@ 3 - HardFault
4212d8a729Srev13@wp.pl	.long	__mm_fault_entry		@ 4 - MemManage
4312d8a729Srev13@wp.pl	.long	__bus_fault_entry		@ 5 - BusFault
4412d8a729Srev13@wp.pl	.long	__usage_fault_entry		@ 6 - UsageFault
4512d8a729Srev13@wp.pl	.long	__invalid_entry			@ 7 - Reserved
4612d8a729Srev13@wp.pl	.long	__invalid_entry			@ 8 - Reserved
4712d8a729Srev13@wp.pl	.long	__invalid_entry			@ 9 - Reserved
4812d8a729Srev13@wp.pl	.long	__invalid_entry			@ 10 - Reserved
4912d8a729Srev13@wp.pl	.long	__invalid_entry			@ 11 - SVCall
5012d8a729Srev13@wp.pl	.long	__invalid_entry			@ 12 - Debug Monitor
5112d8a729Srev13@wp.pl	.long	__invalid_entry			@ 13 - Reserved
5212d8a729Srev13@wp.pl	.long	__invalid_entry			@ 14 - PendSV
5312d8a729Srev13@wp.pl	.long	__invalid_entry			@ 15 - SysTick
5412d8a729Srev13@wp.pl	.rept	255 - 16
5512d8a729Srev13@wp.pl	.long	__invalid_entry			@ 16..255 - External Interrupts
5612d8a729Srev13@wp.pl	.endr
57