1 /*
2  * Copyright (c) 2015, 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_def.h>
13 
14 /*
15  * The following platform functions are weakly defined. They
16  * are default implementations that allow BL1 to compile in
17  * absence of real definitions. The Platforms may override
18  * with more complex definitions.
19  */
20 #pragma weak bl1_plat_get_next_image_id
21 #pragma weak bl1_plat_set_ep_info
22 #pragma weak bl1_plat_get_image_desc
23 #pragma weak bl1_plat_fwu_done
24 
25 
bl1_plat_get_next_image_id(void)26 unsigned int bl1_plat_get_next_image_id(void)
27 {
28 	/* BL2 load will be done by default. */
29 	return BL2_IMAGE_ID;
30 }
31 
bl1_plat_set_ep_info(unsigned int image_id,entry_point_info_t * ep_info)32 void bl1_plat_set_ep_info(unsigned int image_id,
33 		entry_point_info_t *ep_info)
34 {
35 
36 }
37 
38 /*
39  * Following is the default definition that always
40  * returns BL2 image details.
41  */
bl1_plat_get_image_desc(unsigned int image_id)42 image_desc_t *bl1_plat_get_image_desc(unsigned int image_id)
43 {
44 	static image_desc_t bl2_img_desc = BL2_IMAGE_DESC;
45 	return &bl2_img_desc;
46 }
47 
bl1_plat_fwu_done(void * client_cookie,void * reserved)48 __dead2 void bl1_plat_fwu_done(void *client_cookie, void *reserved)
49 {
50 	while (1)
51 		wfi();
52 }
53 
54 /*
55  * The Platforms must override with real definition.
56  */
57 #pragma weak bl1_plat_mem_check
58 
bl1_plat_mem_check(uintptr_t mem_base,unsigned int mem_size,unsigned int flags)59 int bl1_plat_mem_check(uintptr_t mem_base, unsigned int mem_size,
60 		unsigned int flags)
61 {
62 	assert(0);
63 	return -ENOMEM;
64 }
65