summaryrefslogtreecommitdiff
path: root/src/arch/x86/rdrand.c
AgeCommit message (Collapse)Author
2017-06-22arch/x86: Make rdrand.c clang friendlyStefan Reinauer
rdrand64() is not clang friendly. Actually it looks like the function is incorrect on 32bit x86 for all compilers including gcc, but gcc won't care because the function is never called on x86: src/arch/x86/rdrand.c:51:15: error: invalid output size for constraint '=a' : "=a" (*rand), "=qm" (carry)); ^ 1 error generated. Guard the code correctly if ENV_X86_64 is not set. Change-Id: Ia565897f5e4caaaccfcb02cf1245b150272dff68 Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-on: https://review.coreboot.org/20298 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
2017-02-20arch/x86: add functions to generate random numbersRobbie Zhang
Using x86 RDRAND instruction, two functions are supplied to generate a 32bit or 64bit number. One potential usage is the sealing key generation for SGX. BUG=chrome-os-partner:62438 BRANCH=NONE TEST=Tested on Eve to generate a 64bit random number. Change-Id: I50cbeda4de17ccf2fc5efc1fe04f6b1a31ec268c Signed-off-by: Robbie Zhang <robbie.zhang@intel.com> Reviewed-on: https://review.coreboot.org/18362 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org>