From 0d35411f88dd37dda755d52b4549337f8299c698 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Tue, 20 Mar 2018 20:42:39 +0200 Subject: [rng] Use fixed-point calculations for min-entropy quantities We currently perform various min-entropy calculations using build-time floating-point arithmetic. No floating-point code ends up in the final binary, since the results are eventually converted to integers and asserted to be compile-time constants. Though this mechanism is undoubtedly cute, it inhibits us from using "-mno-sse" to prevent the use of SSE registers by the compiler. Fix by using fixed-point arithmetic instead. Signed-off-by: Michael Brown --- src/include/ipxe/linux/linux_entropy.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/include/ipxe/linux') diff --git a/src/include/ipxe/linux/linux_entropy.h b/src/include/ipxe/linux/linux_entropy.h index afef6fe19..ea8c1f16c 100644 --- a/src/include/ipxe/linux/linux_entropy.h +++ b/src/include/ipxe/linux/linux_entropy.h @@ -20,7 +20,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); * * @ret min_entropy min-entropy of each sample */ -static inline __always_inline double +static inline __always_inline min_entropy_t ENTROPY_INLINE ( linux, min_entropy_per_sample ) ( void ) { /* linux_get_noise() reads a single byte from /dev/random, @@ -28,7 +28,7 @@ ENTROPY_INLINE ( linux, min_entropy_per_sample ) ( void ) { * entropy is available. We therefore assume that each sample * contains exactly 8 bits of entropy. */ - return 8.0; + return MIN_ENTROPY ( 8.0 ); } #endif /* _IPXE_LINUX_ENTROPY_H */ -- cgit v1.2.3-55-g7522