1 /* 2 * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #include <arch_helpers.h> 8 #include <assert.h> 9 #include <bl_common.h> 10 #include <debug.h> 11 #include <errno.h> 12 #include <platform.h> 13 14 /* 15 * The following platform functions are weakly defined. The Platforms 16 * may redefine with strong definition. 17 */ 18 #pragma weak bl2_el3_plat_prepare_exit 19 #pragma weak plat_error_handler 20 #pragma weak bl2_plat_preload_setup 21 #pragma weak bl2_plat_handle_pre_image_load 22 #pragma weak bl2_plat_handle_post_image_load 23 #pragma weak plat_try_next_boot_source 24 25 void bl2_el3_plat_prepare_exit(void) 26 { 27 } 28 29 void __dead2 plat_error_handler(int err) 30 { 31 while (1) 32 wfi(); 33 } 34 35 void bl2_plat_preload_setup(void) 36 { 37 } 38 39 int bl2_plat_handle_pre_image_load(unsigned int image_id) 40 { 41 return 0; 42 } 43 44 int bl2_plat_handle_post_image_load(unsigned int image_id) 45 { 46 return 0; 47 } 48 49 int plat_try_next_boot_source(void) 50 { 51 return 0; 52 } 53 54 #if !ERROR_DEPRECATED 55 #pragma weak bl2_early_platform_setup2 56 57 /* 58 * The following platform API implementation that allow compatibility for 59 * the older platform APIs. 60 */ 61 void bl2_early_platform_setup2(u_register_t arg0, u_register_t arg1, 62 u_register_t arg2, u_register_t arg3) 63 { 64 bl2_early_platform_setup((void *)arg1); 65 } 66 #endif 67