aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/entropy/rdseed
Commit message (Collapse)AuthorAgeFilesLines
* Fixes for MSVC version detectionJack Lloyd2017-05-191-1/+1
| | | | | See comments in https://github.com/randombit/botan/commit/7f019174bfcf3c2b31bda74fe40ce35727db1cef
* Let modules specify minimum compiler version, add runtime compiler version checkJack Lloyd2017-05-181-3/+3
| | | | | | | | | | | | | This comes up recently to support CPU extensions by Intel (#826) and ARM (#844) since the intrinsic functions were only added in compiler versions more recent than the minimums we generally support, but might actually be useful for all kinds of things in the future since one can add a (new, otherwise optional) C++14 or C++17 module in 2.x branch while continuing to support the current set of supported compiler versions for the main library functionality. Uses RDSEED as the test case, to ensure version detection/comparisons work on all platforms.
* Remove "Dirty hack" for multiple defines in lex_me_harder()Simon Warta2017-04-021-1/+3
|
* Remove <source> block from info.txt filesJack Lloyd2016-12-081-4/+0
| | | | | | Kind of a vestigial thing from an earlier iteration of the module design, and never useful to specify anymore since taking all the cpp files is what you want exactly 100% of the time.
* Add ISA annotations to functions using SIMD, AES, etcJack Lloyd2016-10-141-0/+1
| | | | | | | | Also emit `#pragma GCC target` in the ISA specific amalgamation files. This allows compiling without any special compiler flags, at least with GCC 6.2 and Clang 3.8. The ISA annotations are ignored in MSVC, which just emits whatever instruction the intrinsic requires.
* Revamp entropy pollingJack Lloyd2016-07-172-17/+19
| | | | | Remove Entropy_Accumulator, instead have entropy sources directly add entropy to the RNG.
* Trivial warning fixesJack Lloyd2016-03-091-1/+1
|
* Merge GH #373 RDRAND/RDSEED logic changesJack Lloyd2016-03-061-17/+17
|\ | | | | | | The Intel RNG may fail if heavily contended, so retry as needed.
| * move logic back into poll()Daniel Neus2016-01-261-30/+18
| | | | | | | | prevents filtering out any 0x00000000 outputs from RDRAND/RDSEED
| * review changesDaniel Neus2015-12-212-16/+17
| | | | | | | | | | | | | | | | * no spaces around if(), for() etc * snake_case for plain functions * anonymous namespace function instead private and static * don't propagate failed poll to the calling application * RdRand retires configurable in build.h
| * RdRand and RdSeed logic changesDaniel Neus2015-12-202-18/+29
| | | | | | | | | | * Make it configurable how often RdRand and RdSeed is polled * Make it configurable how many RdSeed retries are executed
* | Add final attribute to many classesJack Lloyd2016-01-101-1/+1
|/ | | | | | | In some cases this can offer better optimization, via devirtualization. And it lets the user know the class is not intended for derivation. Some discussion in GH #402
* Move estimate of RDRAND/RDSEED entropy to build.hJack Lloyd2015-12-191-11/+1
| | | | GH #370 for background
* add support for Intel RdSeedDaniel Neus2015-12-183-0/+107