diff options
author | Michael Brown <mcb30@ipxe.org> | 2018-03-20 20:42:39 +0200 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2018-03-20 20:56:01 +0200 |
commit | 0d35411f88dd37dda755d52b4549337f8299c698 (patch) | |
tree | 9129fb0cee236f97af83024b5910cb2cb2b83b08 /src/arch | |
parent | d5d4bf8870ccb68b3b897d2ee88079dc06e9dd48 (diff) | |
download | ipxe-0d35411f88dd37dda755d52b4549337f8299c698.tar.gz |
[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 <mcb30@ipxe.org>
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/x86/include/ipxe/rtc_entropy.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/arch/x86/include/ipxe/rtc_entropy.h b/src/arch/x86/include/ipxe/rtc_entropy.h index e214745d0..581abcd3e 100644 --- a/src/arch/x86/include/ipxe/rtc_entropy.h +++ b/src/arch/x86/include/ipxe/rtc_entropy.h @@ -22,7 +22,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 ( rtc, min_entropy_per_sample ) ( void ) { /* The min-entropy has been measured on several platforms @@ -38,7 +38,7 @@ ENTROPY_INLINE ( rtc, min_entropy_per_sample ) ( void ) { * safety margin to allow for some potential non-independence * of samples. */ - return 1.3; + return MIN_ENTROPY ( 1.3 ); } extern uint8_t rtc_sample ( void ); |