2 * Copyright (c) 2017-2019, ARM Limited and Contributors. All rights reserved.
4 * SPDX-License-Identifier: BSD-3-Clause
10 #include <lib/utils_def.h>
12 #include <drivers/rpi3/rng/rpi3_rng.h>
14 /* Get 128 bits of entropy and fuse the values together to form the canary. */
15 #define TRNG_NBYTES 16U
17 u_register_t
plat_get_stack_protector_canary(void)
20 u_register_t buf
[TRNG_NBYTES
/ sizeof(u_register_t
)];
21 u_register_t ret
= 0U;
23 rpi3_rng_read(buf
, sizeof(buf
));
25 for (i
= 0U; i
< ARRAY_SIZE(buf
); i
++)