[U-Boot] [PATCH 2/3] lib: rand: add call to hw_rand() - hardware random number generator

Przemyslaw Marczak p.marczak at samsung.com
Mon Mar 3 15:19:43 CET 2014


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 at samsung.com>
>> cc: Michael Walle <michael at walle.cc>
>> cc: Tom Rini <trini at 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
-- 
Przemyslaw Marczak
Samsung R&D Institute Poland
Samsung Electronics
p.marczak at samsung.com


More information about the U-Boot mailing list