arm-trusted-firmware/plat
Andre Przywara 1ae75529bc feat(fvp): emulate trapped RNDR
When a platform decides to use FEAT_RNG_TRAP, every RNDR or RNDRSS read
will trap into EL3. The platform can then emulate those instructions, by
either executing the real CPU instructions, potentially conditioning the
results, or use rate-limiting or filtering to protect the hardware
entropy pool. Another possiblitiy would be to use some platform specific
TRNG device to get entropy and returning this.

To demonstrate platform specific usage, add a demo implementation for the
FVP: It will execute the actual CPU instruction and just return the
result. This should serve as reference code to implement platform specific
policies.

We change the definition of read_rndr() and read_rndrrs() to use the
alternative sysreg encoding, so that all assemblers can handle that.

Add documentation about the new platform specific RNG handler function.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Change-Id: Ibce817b3b06ad20129d15531b81402e3cc3e9a9e
2022-12-21 12:59:36 +00:00
..
allwinner feat(allwinner): add SMCCC SOCID support 2022-05-04 02:30:08 +02:00
amlogic Plat AXG: Fix PLAT_MAX_PWR_LVL value 2020-12-29 13:52:11 +00:00
arm feat(fvp): emulate trapped RNDR 2022-12-21 12:59:36 +00:00
brcm refactor(libc): clean up dependencies in libc 2022-09-22 13:23:49 +02:00
common fix(console): fix crash on spin_unlock with cache disabled 2022-11-29 03:35:23 +01:00
hisilicon feat(hikey960): read serial number from UFS 2022-11-02 15:35:03 +01:00
imx feat(imx8mq): add BL31 PIE support 2022-12-13 11:08:42 +01:00
intel/soc Merge "fix(intel): add mailbox error return status for FCS_DECRYPTION" into integration 2022-12-19 08:37:23 +01:00
marvell fix(ras): restrict RAS support for NS world 2022-11-08 10:10:59 +00:00
mediatek fix(mt8188): add mmap entry for CPU idle SRAM 2022-11-14 15:54:09 +08:00
nvidia/tegra fix(ras): restrict RAS support for NS world 2022-11-08 10:10:59 +00:00
nxp fix(layerscape): unlock write access SMMU_CBn_ACTLR 2022-12-06 22:46:10 +08:00
qemu Merge changes from topic "qemu_sel2" into integration 2022-12-15 14:25:16 +01:00
qti feat(qti): updated soc version for sc7180 and sc7280 2022-11-03 16:29:13 +05:30
renesas fix(ras): restrict RAS support for NS world 2022-11-08 10:10:59 +00:00
rockchip fix(rockchip): align fdt buffer on 8 bytes 2022-11-15 11:22:42 +01:00
rpi fix(rpi3): tighten platform pwr_domain_pwr_down_wfi behaviour 2022-10-27 13:46:02 +01:00
socionext fix(synquacer): increase size of BL33 2022-09-21 22:14:29 +02:00
st fix(st): include utils.h to solve compilation error 2022-12-12 15:15:38 +01:00
ti/k3 fix(ras): restrict RAS support for NS world 2022-11-08 10:10:59 +00:00
xilinx fix(xilinx): resolve integer handling issue 2022-12-16 17:43:43 +05:30