mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-21 03:54:34 +00:00

So far the i.MX BL31 doesn't take any parameters. This means the BL32 image base address and whether or not a BL32 image is used at all has to be hardcoded in BL31. This adds a helper function that allows to take params from BL2 safely. On i.MX BL2 is usually U-Boot SPL which passes random values in arg0, so make sure arg0 is within the internal SRAM range before accessing it as a pointer. Also make sure arg0 is sufficiently aligned and the header type and version is correct. Change-Id: Idab8013a1d6dabf50a83c75f3e6f831de4a537e9 Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
17 lines
401 B
C
17 lines
401 B
C
/*
|
|
* Copyright (c) 2024, Pengutronix, Inc. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
#ifndef PLAT_COMMON_H
|
|
#define PLAT_COMMON_H
|
|
|
|
#include <stdint.h>
|
|
#include <common/bl_common.h>
|
|
|
|
int imx_bl31_params_parse(uintptr_t arg0, uintptr_t ocram_base,
|
|
uintptr_t ocram_size,
|
|
entry_point_info_t *bl32_info,
|
|
entry_point_info_t *bl33_info);
|
|
|
|
#endif /* PLAT_COMMON_H */
|