
Hello Michael, Thank you for reply.
On 02/28/2014 06:02 PM, Michael Walle wrote:
Am Freitag, 28. Februar 2014, 17:30:54 schrieb Przemyslaw Marczak:
Changes:
- lib/rand.c: add call to hw_rand() (depends on CONFIG_RAND_HW_ACCEL)
- include/common.h: add hw_rand() declaration.
Signed-off-by: Przemyslaw Marczak p.marczak@samsung.com cc: Michael Walle michael@walle.cc cc: Tom Rini trini@ti.com
include/common.h | 3 +++ lib/rand.c | 4 ++++ 2 files changed, 7 insertions(+)
diff --git a/include/common.h b/include/common.h index 96a45a6..58e2fbc 100644 --- a/include/common.h +++ b/include/common.h @@ -836,6 +836,9 @@ void srand(unsigned int seed); unsigned int rand(void); unsigned int rand_r(unsigned int *seedp); #endif +#ifdef CONFIG_RAND_HW_ACCEL +unsigned int hw_rand(void); +#endif
/* common/console.c */ int console_init_f(void); /* Before relocation; uses the serial stuff
*/
diff --git a/lib/rand.c b/lib/rand.c index 5c367e1..f534635 100644 --- a/lib/rand.c +++ b/lib/rand.c @@ -23,7 +23,11 @@ unsigned int rand_r(unsigned int *seedp)
unsigned int rand(void) { +#ifdef CONFIG_RAND_HW_ACCEL
- return hw_rand();
+#else return rand_r(&y); +#endif }
shouldn't we put that into rand_r() and ignore the argument? because then both users of rand() and rand_r() will benefit from the hardware random generator.
Ok, I can change this.
and what does HW_ACCEL mean? is this a real hardware random generator? if this is the case, wouldn't it make more sense to name it CONFIG_RAND_USE_HW_RNG.
-michael
HW_ACCEL means hardware accelerated, and it really is. I followed common/hash.c code - there is declared array "hash_algo" and config name for sha hardware acceleration is "CONFIG_SHA_HW_ACCEL", so I think CONFIG_RAND_HW_ACCEL coresponds well to CONFIG_RAND.
Thank you