From feb5aa24d28c4ec4051397cd025be29971a66175 Mon Sep 17 00:00:00 2001 From: Wayne Lin Date: Tue, 24 May 2016 15:28:42 -0700 Subject: [PATCH] spd: trusty: pass boot params to the Trusted OS This patch passes the boot parameters, provided by the previous bootloader, to the Trusted OS via X0, X1 and X2. Original change by: Wayne Lin Change-Id: I2039612a8a8226158babfd505ce8c31c4212319c Signed-off-by: Varun Wadekar --- services/spd/trusty/trusty.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/services/spd/trusty/trusty.c b/services/spd/trusty/trusty.c index cb28b2e57..750c3b0c3 100644 --- a/services/spd/trusty/trusty.c +++ b/services/spd/trusty/trusty.c @@ -45,6 +45,9 @@ /* macro to check if Hypervisor is enabled in the HCR_EL2 register */ #define HYP_ENABLE_FLAG 0x286001 +/* length of Trusty's input parameters (in bytes) */ +#define TRUSTY_PARAMS_LEN_BYTES (4096*2) + struct trusty_stack { uint8_t space[PLATFORM_STACK_SIZE] __aligned(16); }; @@ -414,6 +417,14 @@ static int32_t trusty_setup(void) DAIF_IRQ_BIT | DAIF_ABT_BIT); + /* + * arg0 = TZDRAM aperture available for BL32 + * arg1 = BL32 boot params + * arg2 = BL32 boot params length + */ + ep_info->args.arg1 = ep_info->args.arg2; + ep_info->args.arg2 = TRUSTY_PARAMS_LEN_BYTES; + bl31_register_bl32_init(trusty_init); psci_register_spd_pm_hook(&trusty_pm);