Home | History | Annotate | Download | only in common
      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 
     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 
     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  */
     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 
     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 
     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