blob: cee34ae2a4c2e691e00f8612b228e230ae84150c [file] [log] [blame]
Yatharth Kochara65be2f2015-10-09 18:06:13 +01001/*
2 * Copyright (c) 2015, ARM Limited and Contributors. All rights reserved.
3 *
dp-armfa3cf0b2017-05-03 09:38:09 +01004 * SPDX-License-Identifier: BSD-3-Clause
Yatharth Kochara65be2f2015-10-09 18:06:13 +01005 */
Yatharth Kochar71c9a5e2015-10-10 19:06:53 +01006
7#include <arch_helpers.h>
8#include <assert.h>
Yatharth Kochara65be2f2015-10-09 18:06:13 +01009#include <bl_common.h>
10#include <debug.h>
Yatharth Kochar71c9a5e2015-10-10 19:06:53 +010011#include <errno.h>
Soby Mathew2f38ce32018-02-08 17:45:12 +000012#include <platform.h>
Yatharth Kochara65be2f2015-10-09 18:06:13 +010013#include <platform_def.h>
14
15/*
16 * The following platform functions are weakly defined. They
Yatharth Kochar71c9a5e2015-10-10 19:06:53 +010017 * are default implementations that allow BL1 to compile in
Yatharth Kochara65be2f2015-10-09 18:06:13 +010018 * absence of real definitions. The Platforms may override
19 * with more complex definitions.
20 */
21#pragma weak bl1_plat_get_next_image_id
22#pragma weak bl1_plat_set_ep_info
23#pragma weak bl1_plat_get_image_desc
Yatharth Kochar71c9a5e2015-10-10 19:06:53 +010024#pragma weak bl1_plat_fwu_done
Soby Mathew2f38ce32018-02-08 17:45:12 +000025#pragma weak bl1_plat_handle_pre_image_load
26#pragma weak bl1_plat_handle_post_image_load
Yatharth Kochara65be2f2015-10-09 18:06:13 +010027
28
29unsigned int bl1_plat_get_next_image_id(void)
30{
31 /* BL2 load will be done by default. */
32 return BL2_IMAGE_ID;
33}
34
35void bl1_plat_set_ep_info(unsigned int image_id,
36 entry_point_info_t *ep_info)
37{
38
39}
40
Soby Mathew2f38ce32018-02-08 17:45:12 +000041int bl1_plat_handle_pre_image_load(unsigned int image_id)
42{
43 return 0;
44}
45
46int bl1_plat_handle_post_image_load(unsigned int image_id)
47{
48 return 0;
49}
50
Yatharth Kochara65be2f2015-10-09 18:06:13 +010051/*
52 * Following is the default definition that always
53 * returns BL2 image details.
54 */
55image_desc_t *bl1_plat_get_image_desc(unsigned int image_id)
56{
57 static image_desc_t bl2_img_desc = BL2_IMAGE_DESC;
58 return &bl2_img_desc;
59}
Yatharth Kochar71c9a5e2015-10-10 19:06:53 +010060
Dan Handley89f8f332015-12-15 14:28:24 +000061__dead2 void bl1_plat_fwu_done(void *client_cookie, void *reserved)
Yatharth Kochar71c9a5e2015-10-10 19:06:53 +010062{
63 while (1)
64 wfi();
65}
66
67/*
68 * The Platforms must override with real definition.
69 */
70#pragma weak bl1_plat_mem_check
71
72int bl1_plat_mem_check(uintptr_t mem_base, unsigned int mem_size,
73 unsigned int flags)
74{
75 assert(0);
76 return -ENOMEM;
77}