1/*
2 * Copyright 2022 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *     https://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#include <common.h>
18
19/**
20 * The following table is intended to trap any fault resulting from the very
21 * first memory accesses. They assume that PSCI v0.2 is available and provides
22 * the PSCI_SYSTEM_RESET call in an attempt to gracefully exit but otherwise
23 * results in the core busy-looping.
24 */
25
26.section .text.vector_table_panic, "ax"
27.global vector_table_panic
28.balign 0x800
29vector_table_panic:
30sync_cur_sp0_panic:
31	reset_or_hang
32
33.balign 0x80
34irq_cur_sp0_panic:
35	reset_or_hang
36
37.balign 0x80
38fiq_cur_sp0_panic:
39	reset_or_hang
40
41.balign 0x80
42serr_cur_sp0_panic:
43	reset_or_hang
44
45.balign 0x80
46sync_cur_spx_panic:
47	reset_or_hang
48
49.balign 0x80
50irq_cur_spx_panic:
51	reset_or_hang
52
53.balign 0x80
54fiq_cur_spx_panic:
55	reset_or_hang
56
57.balign 0x80
58serr_cur_spx_panic:
59	reset_or_hang
60
61.balign 0x80
62sync_lower_64_panic:
63	reset_or_hang
64
65.balign 0x80
66irq_lower_64_panic:
67	reset_or_hang
68
69.balign 0x80
70fiq_lower_64_panic:
71	reset_or_hang
72
73.balign 0x80
74serr_lower_64_panic:
75	reset_or_hang
76
77.balign 0x80
78sync_lower_32_panic:
79	reset_or_hang
80
81.balign 0x80
82irq_lower_32_panic:
83	reset_or_hang
84
85.balign 0x80
86fiq_lower_32_panic:
87	reset_or_hang
88
89.balign 0x80
90serr_lower_32_panic:
91	reset_or_hang
92