Enabling cpu-generated randomness by default breaks execution on
legacy x86_64 CPUs that don't support RDRAND. Update config to
enable CPU-generated randomness conditionally to the selection
of libukrandom.
In x86_64 libukrandom will seed the CSPRNG using RDRAND if the CPU
implements these instruction, unless LIBUKRANDOM_CMDLINE_SEED is
selected in the config.
On arm64 libukrandom will check if a device-tree is provided and
if a seed is set in the `/chosen/rng-seed` property, and otherwise
fall back to RNDR / RNDRRS if the CPU implements FEAT_RNG.
Signed-off-by: Michalis Pappas <michalis@unikraft.io>
Reviewed-by: Maria Pana <maria.pana4@gmail.com>
Reviewed-by: Alex Apostolescu <alexx.apostolescu@gmail.com>
Reviewed-by: Simon Kuenzer <simon@unikraft.io>
Approved-by: Simon Kuenzer <simon@unikraft.io>
GitHub-Closes: #1496
select LIBUKRELOC if OPTIMIZE_PIE
imply LIBUKOFW if ARCH_ARM_64
select HAVE_INTCTLR
- select HAVE_RANDOM
imply LIBUKINTCTLR_GICV3 if ARCH_ARM_64
imply LIBXEN_NETFRONT if LIBUKNETDEV
imply LIBXEN_9PFRONT if LIBUK9P
imply LIBXEN_BLKFRONT if LIBUKBLKDEV
imply LIBXEN_CONSOLE
- imply LIBUKRANDOM if HAVE_RANDOM
help
Create a Unikraft image that runs as a Xen guest