[PATCH] Added Getentropy() support to beagle BSP

Gedare Bloom gedare at rtems.org
Thu Mar 15 14:22:59 UTC 2018


On Thu, Mar 15, 2018 at 7:00 AM, Udit agarwal <dev.madaari at gmail.com> wrote:
>
>
> On Thu, Mar 15, 2018 at 2:38 PM, Sebastian Huber
> <sebastian.huber at embedded-brains.de> wrote:
>>
>> On 15/03/18 09:20, Udit agarwal wrote:
>>>
>>> Also, will it be ok to keep atsam_trng_mutex even after user has finished
>>> using getentropy() i.e when we don't use destroy(&atsam_trng_mutex) at all?
>>
>>
>> Why do you want to destroy the mutex?
>
> Just trying to reduce redundancy, but then i don't think that's a good idea.
> BTW, here's atsam patch, please have a look:
>
> From 35313002ea19715c5914c5983a24471b0763aa68 Mon Sep 17 00:00:00 2001
> From: Udit agarwal <dev.madaari at gmail.com>
> Date: Thu, 15 Mar 2018 16:21:51 +0530
> Subject: [PATCH] Added mutex across TRNG_GetRandData

In the commit message, identify the rtems subsystem. I guess we don't
have detailed advice on the wiki for this, but here I guess we usually
would have something like "arm/atsam: protect TRNG_GetRandData with
mutex"

>
> ---
>  c/src/lib/libbsp/arm/atsam/startup/getentropy-trng.c | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/c/src/lib/libbsp/arm/atsam/startup/getentropy-trng.c
> b/c/src/lib/libbsp/arm/atsam/startup/getentropy-trng.c
> index 11e24dc..2789970 100644
> --- a/c/src/lib/libbsp/arm/atsam/startup/getentropy-trng.c
> +++ b/c/src/lib/libbsp/arm/atsam/startup/getentropy-trng.c
> @@ -16,6 +16,9 @@
>  #include <unistd.h>
>  #include <string.h>
>  #include <rtems/sysinit.h>
> +#include <rtems/thread.h>
> +
> +static rtems_mutex atsam_trng_mutex =
> RTEMS_MUTEX_INITIALIZER("atsam_trng");
>
The second line should be indented 2 more levels (4 spaces).
https://devel.rtems.org/wiki/Developer/Coding/80_characters_per_line

>  static void atsam_trng_enable(void)
>  {
> @@ -25,6 +28,9 @@ static void atsam_trng_enable(void)
>
>  int getentropy(void *ptr, size_t n)
>  {
> +
> +    rtems_mutex_lock(&atsam_trng_mutex);
The number of indent spaces here look wrong to me. It should be 2.

> +
>      while (n > 0) {
>          uint32_t random;
>          size_t copy;
> @@ -51,6 +57,7 @@ int getentropy(void *ptr, size_t n)
>          ptr += copy;
>      }
>
> +    rtems_mutex_unlock(&atsam_trng_mutex);
ditto.

>      return 0;
>  }
>
> --
> 1.9.1
>
>
>>
>>
>>
>> --
>> Sebastian Huber, embedded brains GmbH
>>
>> Address : Dornierstr. 4, D-82178 Puchheim, Germany
>> Phone   : +49 89 189 47 41-16
>> Fax     : +49 89 189 47 41-09
>> E-Mail  : sebastian.huber at embedded-brains.de
>> PGP     : Public key available on request.
>>
>> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
>>
>
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel



More information about the devel mailing list