arm-trusted-firmware/include
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
..
arch feat(fvp): emulate trapped RNDR 2022-12-21 12:59:36 +00:00
bl1 Specify signed-ness of constants 2020-08-14 11:36:05 +00:00
bl2 BL2_AT_EL3: Enable pointer authentication support 2019-02-27 11:58:09 +00:00
bl2u Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
bl31 feat(fvp): emulate trapped RNDR 2022-12-21 12:59:36 +00:00
bl32 refactor(libc): clean up dependencies in libc 2022-09-22 13:23:49 +02:00
common feat(tbbr): increase PK_DER_LEN size 2022-11-14 11:25:01 +01:00
drivers Merge changes I2b23e7c8,I779587af,Ic46de7a4,If753e987,I00171b05, ... into integration 2022-12-15 16:38:07 +01:00
dt-bindings feat(dt-bindings): add TZC400 bindings for STM32MP13 2022-03-22 09:09:23 +01:00
export chore: use tabs for indentation 2022-09-12 15:12:01 -07:00
lib Merge changes Ida9abfd5,Iec447d97 into integration 2022-12-07 13:51:57 +01:00
plat Merge "fix(gic): wrap cache enabled assert under plat_can_cmo" into integration 2022-12-19 11:44:45 +01:00
services Merge "fix(rmmd): add missing padding to RMM Boot Manifest and initialize it" into integration 2022-12-08 14:53:50 +01:00
tools_share feat(fiptool): add cca, core_swd, plat cert in FIP 2022-06-14 09:47:37 -05:00