summaryrefslogtreecommitdiffstats
path: root/src/arch
diff options
context:
space:
mode:
authorMichael Brown2018-03-20 19:42:39 +0100
committerMichael Brown2018-03-20 19:56:01 +0100
commit0d35411f88dd37dda755d52b4549337f8299c698 (patch)
tree9129fb0cee236f97af83024b5910cb2cb2b83b08 /src/arch
parent[golan] Set log_max_qp to 1 (diff)
downloadipxe-0d35411f88dd37dda755d52b4549337f8299c698.tar.gz
ipxe-0d35411f88dd37dda755d52b4549337f8299c698.tar.xz
ipxe-0d35411f88dd37dda755d52b4549337f8299c698.zip
[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.h4
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 e214745d..581abcd3 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 );