blob: 54735b250213c902baeb3fa951d0e63a27bed824 [file] [log] [blame]
Pierre-Clément Tosid40ff912022-06-30 16:11:33 +01001/*
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
Pierre-Clément Tosi4ee68e22022-10-27 12:17:38 +010017#include <common.h>
18
Pierre-Clément Tosid40ff912022-06-30 16:11:33 +010019/**
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
Pierre-Clément Tosid40ff912022-06-30 16:11:33 +010026.section .text.vector_table_panic, "ax"
27.global vector_table_panic
28.balign 0x800
29vector_table_panic:
30sync_cur_sp0_panic:
Pierre-Clément Tosi4ee68e22022-10-27 12:17:38 +010031 reset_or_hang
Pierre-Clément Tosid40ff912022-06-30 16:11:33 +010032
33.balign 0x80
34irq_cur_sp0_panic:
Pierre-Clément Tosi4ee68e22022-10-27 12:17:38 +010035 reset_or_hang
Pierre-Clément Tosid40ff912022-06-30 16:11:33 +010036
37.balign 0x80
38fiq_cur_sp0_panic:
Pierre-Clément Tosi4ee68e22022-10-27 12:17:38 +010039 reset_or_hang
Pierre-Clément Tosid40ff912022-06-30 16:11:33 +010040
41.balign 0x80
42serr_cur_sp0_panic:
Pierre-Clément Tosi4ee68e22022-10-27 12:17:38 +010043 reset_or_hang
Pierre-Clément Tosid40ff912022-06-30 16:11:33 +010044
45.balign 0x80
46sync_cur_spx_panic:
Pierre-Clément Tosi4ee68e22022-10-27 12:17:38 +010047 reset_or_hang
Pierre-Clément Tosid40ff912022-06-30 16:11:33 +010048
49.balign 0x80
50irq_cur_spx_panic:
Pierre-Clément Tosi4ee68e22022-10-27 12:17:38 +010051 reset_or_hang
Pierre-Clément Tosid40ff912022-06-30 16:11:33 +010052
53.balign 0x80
54fiq_cur_spx_panic:
Pierre-Clément Tosi4ee68e22022-10-27 12:17:38 +010055 reset_or_hang
Pierre-Clément Tosid40ff912022-06-30 16:11:33 +010056
57.balign 0x80
58serr_cur_spx_panic:
Pierre-Clément Tosi4ee68e22022-10-27 12:17:38 +010059 reset_or_hang
Pierre-Clément Tosid40ff912022-06-30 16:11:33 +010060
61.balign 0x80
62sync_lower_64_panic:
Pierre-Clément Tosi4ee68e22022-10-27 12:17:38 +010063 reset_or_hang
Pierre-Clément Tosid40ff912022-06-30 16:11:33 +010064
65.balign 0x80
66irq_lower_64_panic:
Pierre-Clément Tosi4ee68e22022-10-27 12:17:38 +010067 reset_or_hang
Pierre-Clément Tosid40ff912022-06-30 16:11:33 +010068
69.balign 0x80
70fiq_lower_64_panic:
Pierre-Clément Tosi4ee68e22022-10-27 12:17:38 +010071 reset_or_hang
Pierre-Clément Tosid40ff912022-06-30 16:11:33 +010072
73.balign 0x80
74serr_lower_64_panic:
Pierre-Clément Tosi4ee68e22022-10-27 12:17:38 +010075 reset_or_hang
Pierre-Clément Tosid40ff912022-06-30 16:11:33 +010076
77.balign 0x80
78sync_lower_32_panic:
Pierre-Clément Tosi4ee68e22022-10-27 12:17:38 +010079 reset_or_hang
Pierre-Clément Tosid40ff912022-06-30 16:11:33 +010080
81.balign 0x80
82irq_lower_32_panic:
Pierre-Clément Tosi4ee68e22022-10-27 12:17:38 +010083 reset_or_hang
Pierre-Clément Tosid40ff912022-06-30 16:11:33 +010084
85.balign 0x80
86fiq_lower_32_panic:
Pierre-Clément Tosi4ee68e22022-10-27 12:17:38 +010087 reset_or_hang
Pierre-Clément Tosid40ff912022-06-30 16:11:33 +010088
89.balign 0x80
90serr_lower_32_panic:
Pierre-Clément Tosi4ee68e22022-10-27 12:17:38 +010091 reset_or_hang