arm-trusted-firmware/plat/arm/board
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
..
a5ds build(fconf)!: clean up source collection 2021-10-26 12:14:29 +01:00
arm_fpga refactor(cpu): update IP names of Makalu CPU lib 2022-08-31 18:31:29 +01:00
common fix(arm): arm_rotpk_header undefined reference 2022-12-16 17:17:20 +00:00
corstone700 refactor(corstone700): namespace MHU driver filenames 2022-04-01 10:16:01 +02:00
corstone1000 style(plat/arm/corstone1000): resolve checkpatch warnings 2022-03-31 10:59:41 +02:00
fvp feat(fvp): emulate trapped RNDR 2022-12-21 12:59:36 +00:00
fvp_r refactor(fvp_r): update set_config_info function call 2022-04-22 10:05:53 +01:00
fvp_ve build(fconf)!: clean up source collection 2021-10-26 12:14:29 +01:00
juno fix(scmi): change function prototype to fix gcc error 2022-12-08 13:42:25 +00:00
morello fix(scmi): change function prototype to fix gcc error 2022-12-08 13:42:25 +00:00
n1sdp fix(scmi): change function prototype to fix gcc error 2022-12-08 13:42:25 +00:00
rde1edge refactor(sgi): rewrite address space size definitions 2022-07-07 15:40:17 +05:30
rdn1edge fix(rdn1edge): change variable type to fix gcc sign conversion error 2022-12-08 13:42:25 +00:00
rdn2 feat(rdn2): enable extended SPI support 2022-10-17 21:58:44 +05:30
rdv1 refactor(sgi): rewrite address space size definitions 2022-07-07 15:40:17 +05:30
rdv1mc refactor(sgi): rewrite address space size definitions 2022-07-07 15:40:17 +05:30
sgi575 build: deprecate Arm rdn1edge and sgi575 FVP platforms 2022-10-20 19:57:31 +01:00
tc Merge "feat(tc): add delegated attest and measurement tests" into integration 2022-12-20 15:58:06 +01:00