summaryrefslogtreecommitdiff
path: root/services
diff options
context:
space:
mode:
authorWayne Lin <wlin@nvidia.com>2016-05-24 15:28:42 -0700
committerVarun Wadekar <vwadekar@nvidia.com>2017-03-06 08:45:39 -0800
commitfeb5aa24d28c4ec4051397cd025be29971a66175 (patch)
tree977ff832ad872234885e166e18b84e3470057b43 /services
parent64c07d0f009cdae746b227ae30055088bca93b50 (diff)
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 <wlin@nvidia.com> Change-Id: I2039612a8a8226158babfd505ce8c31c4212319c Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Diffstat (limited to 'services')
-rw-r--r--services/spd/trusty/trusty.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/services/spd/trusty/trusty.c b/services/spd/trusty/trusty.c
index cb28b2e5..750c3b0c 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);