summaryrefslogtreecommitdiffstats
path: root/src/corelib/global/qrandom_p.h
diff options
context:
space:
mode:
authorDmitry Kazakov <dimula73@gmail.com>2019-09-05 10:23:08 +0300
committerDmitry Kazakov <dimula73@gmail.com>2019-09-26 19:52:50 +0300
commit5839714d986f28412c9f9ed4801d1bf9378f7b51 (patch)
tree72f48ba65dbb68ceec5acc65658903bd7eff30ab /src/corelib/global/qrandom_p.h
parentd5abda313dab0f83873d34b7c4ddbe8d8a06dacf (diff)
Fix QRandomGenerator initialization on AMD CPUs
Some AMD CPUs (e.g. AMD A4-6250J and AMD Ryzen 3000-series) have a failing random generation instruction, which always returns 0xffffffff, even when generation was "successful". This code checks if hardware random generator generates four consecutive equal numbers. If it does, then we probably have a failing one and should disable it completely. Change-Id: I38c87920ca2e8cce4143afbff5e453ce3845d11a Fixes: QTBUG-69423 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'src/corelib/global/qrandom_p.h')
-rw-r--r--src/corelib/global/qrandom_p.h8
1 files changed, 0 insertions, 8 deletions
diff --git a/src/corelib/global/qrandom_p.h b/src/corelib/global/qrandom_p.h
index 917a91098e..4a0adff51c 100644
--- a/src/corelib/global/qrandom_p.h
+++ b/src/corelib/global/qrandom_p.h
@@ -79,14 +79,6 @@ extern Q_CORE_EXPORT QBasicAtomicInteger<uint> qt_randomdevice_control;
enum { qt_randomdevice_control = 0 };
#endif
-inline bool qt_has_hwrng()
-{
-#if defined(Q_PROCESSOR_X86) && QT_COMPILER_SUPPORTS_HERE(RDRND)
- return qCpuHasFeature(RDRND);
-#else
- return false;
-#endif
-}
QT_END_NAMESPACE