1*91f16700Schasinglulu/* 2*91f16700Schasinglulu * Copyright (c) 2016-2022, ARM Limited and Contributors. All rights reserved. 3*91f16700Schasinglulu * 4*91f16700Schasinglulu * SPDX-License-Identifier: BSD-3-Clause 5*91f16700Schasinglulu */ 6*91f16700Schasinglulu 7*91f16700Schasinglulu#include <arch.h> 8*91f16700Schasinglulu#include <asm_macros.S> 9*91f16700Schasinglulu 10*91f16700Schasinglulu .weak plat_report_exception 11*91f16700Schasinglulu .weak plat_report_prefetch_abort 12*91f16700Schasinglulu .weak plat_report_data_abort 13*91f16700Schasinglulu .weak plat_reset_handler 14*91f16700Schasinglulu .weak plat_disable_acp 15*91f16700Schasinglulu .weak bl1_plat_prepare_exit 16*91f16700Schasinglulu .weak platform_mem_init 17*91f16700Schasinglulu .weak plat_panic_handler 18*91f16700Schasinglulu 19*91f16700Schasinglulu /* ----------------------------------------------------- 20*91f16700Schasinglulu * Placeholder function which should be redefined by 21*91f16700Schasinglulu * each platform. 22*91f16700Schasinglulu * ----------------------------------------------------- 23*91f16700Schasinglulu */ 24*91f16700Schasinglulufunc plat_report_exception 25*91f16700Schasinglulu bx lr 26*91f16700Schasingluluendfunc plat_report_exception 27*91f16700Schasinglulu 28*91f16700Schasinglulu /* ----------------------------------------------------- 29*91f16700Schasinglulu * Placeholder function which should be redefined by 30*91f16700Schasinglulu * each platform. 31*91f16700Schasinglulu * ----------------------------------------------------- 32*91f16700Schasinglulu */ 33*91f16700Schasinglulufunc plat_report_prefetch_abort 34*91f16700Schasinglulu bx lr 35*91f16700Schasingluluendfunc plat_report_prefetch_abort 36*91f16700Schasinglulu 37*91f16700Schasinglulu /* ----------------------------------------------------- 38*91f16700Schasinglulu * Placeholder function which should be redefined by 39*91f16700Schasinglulu * each platform. 40*91f16700Schasinglulu * ----------------------------------------------------- 41*91f16700Schasinglulu */ 42*91f16700Schasinglulufunc plat_report_data_abort 43*91f16700Schasinglulu bx lr 44*91f16700Schasingluluendfunc plat_report_data_abort 45*91f16700Schasinglulu 46*91f16700Schasinglulu /* ----------------------------------------------------- 47*91f16700Schasinglulu * Placeholder function which should be redefined by 48*91f16700Schasinglulu * each platform. 49*91f16700Schasinglulu * ----------------------------------------------------- 50*91f16700Schasinglulu */ 51*91f16700Schasinglulufunc plat_reset_handler 52*91f16700Schasinglulu bx lr 53*91f16700Schasingluluendfunc plat_reset_handler 54*91f16700Schasinglulu 55*91f16700Schasinglulu /* ----------------------------------------------------- 56*91f16700Schasinglulu * Placeholder function which should be redefined by 57*91f16700Schasinglulu * each platform. 58*91f16700Schasinglulu * ----------------------------------------------------- 59*91f16700Schasinglulu */ 60*91f16700Schasinglulufunc plat_disable_acp 61*91f16700Schasinglulu bx lr 62*91f16700Schasingluluendfunc plat_disable_acp 63*91f16700Schasinglulu 64*91f16700Schasinglulu /* --------------------------------------------------------------------- 65*91f16700Schasinglulu * Placeholder function which should be redefined by 66*91f16700Schasinglulu * each platform. 67*91f16700Schasinglulu * --------------------------------------------------------------------- 68*91f16700Schasinglulu */ 69*91f16700Schasinglulufunc platform_mem_init 70*91f16700Schasinglulu bx lr 71*91f16700Schasingluluendfunc platform_mem_init 72*91f16700Schasinglulu 73*91f16700Schasinglulu /* ----------------------------------------------------- 74*91f16700Schasinglulu * void bl1_plat_prepare_exit(entry_point_info_t *ep_info); 75*91f16700Schasinglulu * Called before exiting BL1. Default: do nothing 76*91f16700Schasinglulu * ----------------------------------------------------- 77*91f16700Schasinglulu */ 78*91f16700Schasinglulufunc bl1_plat_prepare_exit 79*91f16700Schasinglulu bx lr 80*91f16700Schasingluluendfunc bl1_plat_prepare_exit 81*91f16700Schasinglulu 82*91f16700Schasinglulu /* ----------------------------------------------------- 83*91f16700Schasinglulu * void plat_panic_handler(void) __dead2; 84*91f16700Schasinglulu * Endless loop by default. 85*91f16700Schasinglulu * ----------------------------------------------------- 86*91f16700Schasinglulu */ 87*91f16700Schasinglulufunc plat_panic_handler 88*91f16700Schasinglulu b plat_panic_handler 89*91f16700Schasingluluendfunc plat_panic_handler 90