u-boot/arch/arm/include/asm/armv8/sec_firmware.h
Ruchika Gupta a797f274d7 ARMv8/sec_firmware : Update chosen/kaslr-seed with random number
kASLR support in kernel requires a random number to be passed via
chosen/kaslr-seed propert. sec_firmware generates this random seed
which can then be passed in the device tree node.

sec_firmware reserves JR3 for it's own usage. Node for JR3 is
removed from device-tree.

Signed-off-by: Ruchika Gupta <ruchika.gupta@nxp.com>
2017-08-26 14:56:11 -04:00

34 lines
870 B
C

/*
* Copyright 2016 NXP Semiconductor, Inc.
*
* SPDX-License-Identifier: GPL-2.0+
*/
#ifndef __SEC_FIRMWARE_H_
#define __SEC_FIRMWARE_H_
#define PSCI_INVALID_VER 0xffffffff
#define SEC_JR3_OFFSET 0x40000
int sec_firmware_init(const void *, u32 *, u32 *);
int _sec_firmware_entry(const void *, u32 *, u32 *);
bool sec_firmware_is_valid(const void *);
bool sec_firmware_support_hwrng(void);
int sec_firmware_get_random(uint8_t *rand, int bytes);
int fdt_fixup_kaslr(void *fdt);
#ifdef CONFIG_SEC_FIRMWARE_ARMV8_PSCI
unsigned int sec_firmware_support_psci_version(void);
unsigned int _sec_firmware_support_psci_version(void);
#else
static inline unsigned int sec_firmware_support_psci_version(void)
{
return PSCI_INVALID_VER;
}
#endif
static inline unsigned int sec_firmware_used_jobring_offset(void)
{
return SEC_JR3_OFFSET;
}
#endif /* __SEC_FIRMWARE_H_ */