Tegra: retrieve BL32's bootargs from bl32_ep_info
This patch removes the bootargs pointer from the platform params structure. Instead the bootargs are passed by the BL2 in the bl32_ep_info struct which is a part of the EL3 params struct. Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
This commit is contained in:
parent
42ca2d86c8
commit
0bf1b022f2
|
@ -10,12 +10,9 @@ In order to compile TLK-D, we need a BL32 image to be present. Since, TLKD
|
||||||
just needs to compile, any BL32 image would do. To use TLK as the BL32, please
|
just needs to compile, any BL32 image would do. To use TLK as the BL32, please
|
||||||
refer to the "Build TLK" section.
|
refer to the "Build TLK" section.
|
||||||
|
|
||||||
Once a BL32 is ready, TLKD can be included in the image using the following
|
Once a BL32 is ready, TLKD can be included in the image by adding "SPD=tlkd"
|
||||||
command:
|
to the build command.
|
||||||
|
|
||||||
CROSS_COMPILE=<path_to_linaro_chain>/bin/aarch64-none-elf- make NEED_BL1=0
|
|
||||||
NEED_BL2=0 BL32=<path_to_BL32_image> PLAT=<platform> SPD=tlkd all
|
|
||||||
_
|
|
||||||
Trusted Little Kernel (TLK)
|
Trusted Little Kernel (TLK)
|
||||||
===========================
|
===========================
|
||||||
TLK is a Trusted OS running as Secure EL1. It is a Free Open Source Software
|
TLK is a Trusted OS running as Secure EL1. It is a Free Open Source Software
|
||||||
|
@ -58,3 +55,16 @@ Build TLK
|
||||||
=========
|
=========
|
||||||
To build and execute TLK, follow the instructions from "Building a TLK Device"
|
To build and execute TLK, follow the instructions from "Building a TLK Device"
|
||||||
section from Tegra_BSP_for_Android_TLK_FOSS_Reference.pdf manual.
|
section from Tegra_BSP_for_Android_TLK_FOSS_Reference.pdf manual.
|
||||||
|
|
||||||
|
Input parameters to TLK
|
||||||
|
=======================
|
||||||
|
TLK expects the TZDRAM size and a structure containing the boot arguments. BL2
|
||||||
|
passes this information to the EL3 software as members of the bl32_ep_info
|
||||||
|
struct, where bl32_ep_info is part of bl31_params_t (passed by BL2 in X0)
|
||||||
|
|
||||||
|
Example:
|
||||||
|
--------
|
||||||
|
bl32_ep_info->args.arg0 = TZDRAM size available for BL32
|
||||||
|
bl32_ep_info->args.arg1 = unused (used only on ARMv7)
|
||||||
|
bl32_ep_info->args.arg2 = pointer to boot args
|
||||||
|
|
||||||
|
|
|
@ -85,7 +85,7 @@ extern uint64_t tegra_bl31_phys_base;
|
||||||
|
|
||||||
static entry_point_info_t bl33_image_ep_info, bl32_image_ep_info;
|
static entry_point_info_t bl33_image_ep_info, bl32_image_ep_info;
|
||||||
static plat_params_from_bl2_t plat_bl31_params_from_bl2 = {
|
static plat_params_from_bl2_t plat_bl31_params_from_bl2 = {
|
||||||
(uint64_t)TZDRAM_SIZE, (uintptr_t)NULL
|
.tzdram_size = (uint64_t)TZDRAM_SIZE
|
||||||
};
|
};
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
|
@ -145,13 +145,10 @@ void bl31_early_platform_setup(bl31_params_t *from_bl2,
|
||||||
bl32_image_ep_info = *from_bl2->bl32_ep_info;
|
bl32_image_ep_info = *from_bl2->bl32_ep_info;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Parse platform specific parameters - TZDRAM aperture size and
|
* Parse platform specific parameters - TZDRAM aperture size
|
||||||
* pointer to BL32 params.
|
|
||||||
*/
|
*/
|
||||||
if (plat_params) {
|
if (plat_params)
|
||||||
plat_bl31_params_from_bl2.tzdram_size = plat_params->tzdram_size;
|
plat_bl31_params_from_bl2.tzdram_size = plat_params->tzdram_size;
|
||||||
plat_bl31_params_from_bl2.bl32_params = plat_params->bl32_params;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
|
|
|
@ -42,7 +42,6 @@
|
||||||
|
|
||||||
typedef struct plat_params_from_bl2 {
|
typedef struct plat_params_from_bl2 {
|
||||||
uint64_t tzdram_size;
|
uint64_t tzdram_size;
|
||||||
uintptr_t bl32_params;
|
|
||||||
} plat_params_from_bl2_t;
|
} plat_params_from_bl2_t;
|
||||||
|
|
||||||
/* Declarations for plat_psci_handlers.c */
|
/* Declarations for plat_psci_handlers.c */
|
||||||
|
|
Loading…
Reference in New Issue