diff options
author | Jiafei Pan <Jiafei.Pan@nxp.com> | 2018-03-02 07:23:30 +0000 |
---|---|---|
committer | Jiafei Pan <Jiafei.Pan@nxp.com> | 2018-04-10 01:24:40 +0000 |
commit | 33d4af47b04f09c5b34f9e6f5f69eca5f506f714 (patch) | |
tree | 61a23ddf6298e3bd8ec38c9811a0d4561f590865 /plat/layerscape/board/ls1043/ls1043_stack_protector.c | |
parent | 93883a293145f6c85b3fc8c219f400e28b7d1491 (diff) | |
download | trusted-firmware-a-33d4af47b04f09c5b34f9e6f5f69eca5f506f714.tar.gz |
layerscape: Initial TF-A support for LS1043ardb
This patch introduce TF-A support for NXP's ls1043a platform.
more details information of ls1043a chip and ls1043ardb board
can be found at docs/plat/ls1043a.rst.
Boot sequence on ls1043a is: bootrom loads bl1 firstly, then bl1
loads bl2, bl2 will load bl31, bl32 and bl33, bl31 will boot
bl32(tee os) and bl33(u-boot or uefi), bl33 boot Linux kernel.
Now TF-A on ls1043ardb platform has the following features in this patch:
* Support boot from Nor flash.
* TF-A can boot bl33 which runs in el2 of non-secure world.
* TF-A boot OPTee OS.
* Support PSCI
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Signed-off-by: Chenyin.Ha <Chenyin.Ha@nxp.com>
Signed-off-by: Chenhui Zhao <chenhui.zhao@nxp.com>
Signed-off-by: jiaheng.fan <jiaheng.fan@nxp.com>
Signed-off-by: Wen He <wen.he_1@nxp.com>
Diffstat (limited to 'plat/layerscape/board/ls1043/ls1043_stack_protector.c')
-rw-r--r-- | plat/layerscape/board/ls1043/ls1043_stack_protector.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/plat/layerscape/board/ls1043/ls1043_stack_protector.c b/plat/layerscape/board/ls1043/ls1043_stack_protector.c new file mode 100644 index 0000000000..50f463b9a0 --- /dev/null +++ b/plat/layerscape/board/ls1043/ls1043_stack_protector.c @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <arch_helpers.h> +#include <stdint.h> + +#define RANDOM_CANARY_VALUE ((u_register_t) 3288484550995823360ULL) + +u_register_t plat_get_stack_protector_canary(void) +{ + /* + * Ideally, a random number should be returned instead of the + * combination of a timer's value and a compile-time constant. As the + * FVP does not have any random number generator, this is better than + * nothing but not necessarily really secure. + */ + return RANDOM_CANARY_VALUE ^ read_cntpct_el0(); +} |