blob: e1e2a6f58ccdebb4521711e887405175e3296a85 [file] [log] [blame]
Soby Mathew0d268dc2016-07-11 14:13:56 +01001/*
Masahiro Yamada2a4fe4f2018-02-01 18:42:24 +09002 * Copyright (c) 2016-2018, ARM Limited and Contributors. All rights reserved.
Soby Mathew0d268dc2016-07-11 14:13:56 +01003 *
dp-armfa3cf0b2017-05-03 09:38:09 +01004 * SPDX-License-Identifier: BSD-3-Clause
Soby Mathew0d268dc2016-07-11 14:13:56 +01005 */
6
7#include <arch.h>
8#include <asm_macros.S>
9
Etienne Carriere953395a2017-11-05 22:57:20 +010010 .weak plat_report_exception
Antonio Nino Diaz6b0968e2018-10-17 16:49:26 +010011#if !ERROR_DEPRECATED
Antonio Nino Diazd3ec5432017-02-17 17:11:27 +000012 .weak plat_crash_console_init
13 .weak plat_crash_console_putc
14 .weak plat_crash_console_flush
Antonio Nino Diaz6b0968e2018-10-17 16:49:26 +010015#endif
Soby Mathew0d268dc2016-07-11 14:13:56 +010016 .weak plat_reset_handler
Yatharth Kocharf528faf2016-06-28 16:58:26 +010017 .weak plat_disable_acp
Etienne Carriere953395a2017-11-05 22:57:20 +010018 .weak bl1_plat_prepare_exit
Soby Mathew0d268dc2016-07-11 14:13:56 +010019 .weak platform_mem_init
20 .weak plat_panic_handler
21
22 /* -----------------------------------------------------
Soby Mathew0d268dc2016-07-11 14:13:56 +010023 * Placeholder function which should be redefined by
24 * each platform.
25 * -----------------------------------------------------
26 */
Etienne Carriere953395a2017-11-05 22:57:20 +010027func plat_report_exception
28 bx lr
29endfunc plat_report_exception
30
Antonio Nino Diaz6b0968e2018-10-17 16:49:26 +010031#if !ERROR_DEPRECATED
Etienne Carriere953395a2017-11-05 22:57:20 +010032 /* -----------------------------------------------------
33 * Placeholder function which should be redefined by
34 * each platform.
35 * -----------------------------------------------------
36 */
Antonio Nino Diazd3ec5432017-02-17 17:11:27 +000037func plat_crash_console_init
38 mov r0, #0
39 bx lr
40endfunc plat_crash_console_init
41
42 /* -----------------------------------------------------
43 * Placeholder function which should be redefined by
44 * each platform.
45 * -----------------------------------------------------
46 */
47func plat_crash_console_putc
48 bx lr
49endfunc plat_crash_console_putc
50
51 /* -----------------------------------------------------
52 * Placeholder function which should be redefined by
53 * each platform.
54 * -----------------------------------------------------
55 */
56func plat_crash_console_flush
57 mov r0, #0
58 bx lr
59endfunc plat_crash_console_flush
Antonio Nino Diaz6b0968e2018-10-17 16:49:26 +010060#endif
Antonio Nino Diazd3ec5432017-02-17 17:11:27 +000061
62 /* -----------------------------------------------------
63 * Placeholder function which should be redefined by
64 * each platform.
65 * -----------------------------------------------------
66 */
Soby Mathew0d268dc2016-07-11 14:13:56 +010067func plat_reset_handler
68 bx lr
69endfunc plat_reset_handler
70
Yatharth Kocharf528faf2016-06-28 16:58:26 +010071 /* -----------------------------------------------------
72 * Placeholder function which should be redefined by
73 * each platform.
74 * -----------------------------------------------------
75 */
76func plat_disable_acp
77 bx lr
78endfunc plat_disable_acp
79
Soby Mathew0d268dc2016-07-11 14:13:56 +010080 /* ---------------------------------------------------------------------
81 * Placeholder function which should be redefined by
82 * each platform.
83 * ---------------------------------------------------------------------
84 */
85func platform_mem_init
86 bx lr
87endfunc platform_mem_init
88
89 /* -----------------------------------------------------
Etienne Carriere953395a2017-11-05 22:57:20 +010090 * void bl1_plat_prepare_exit(entry_point_info_t *ep_info);
91 * Called before exiting BL1. Default: do nothing
92 * -----------------------------------------------------
93 */
94func bl1_plat_prepare_exit
95 bx lr
96endfunc bl1_plat_prepare_exit
97
98 /* -----------------------------------------------------
Soby Mathew0d268dc2016-07-11 14:13:56 +010099 * void plat_panic_handler(void) __dead2;
100 * Endless loop by default.
101 * -----------------------------------------------------
102 */
103func plat_panic_handler
104 b plat_panic_handler
105endfunc plat_panic_handler