Re: [PATCH v2] hwrng: cavium: Check health status while reading random data

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Oct 29, 2021 at 10:49:59PM +0530, sgoutham@xxxxxxxxxxx wrote:
> From: Sunil Goutham <sgoutham@xxxxxxxxxxx>
> 
> This RNG device is present on Marvell OcteonTx2 silicons as well and
> also provides entropy health status.
> 
> HW continuously checks health condition of entropy and reports
> faults. Fault is in terms of co-processor cycles since last fault
> detected. This doesn't get cleared and only updated when new fault
> is detected. Also there are chances of detecting false positives.
> So to detect a entropy failure SW has to check if failures are
> persistent ie cycles elapsed is frequently updated by HW.
> 
> This patch adds support to detect health failures using below algo.
> 1. Consider any fault detected before 10ms as a false positive and ignore.
>    10ms is chosen randomly, no significance.
> 2. Upon first failure detection make a note of cycles elapsed and when this
>    error happened in realtime (cntvct).
> 3. Upon subsequent failure, check if this is new or a old one by comparing
>    current cycles with the ones since last failure. cycles or time since
>    last failure is calculated using cycles and time info captured at (2).
> 
> HEALTH_CHECK status register is not available to VF, hence had to map
> PF registers. Also since cycles are in terms of co-processor cycles,
> had to retrieve co-processor clock rate from RST device.
> 
> Signed-off-by: Sunil Goutham <sgoutham@xxxxxxxxxxx>
> ---
> v1->v2:
>  - Fixed COMPILE_TEST failures
>  - Since silicon checks are done using standard ARM specific macros
>    had to remove COMPILE_TEST.
> ---
>  drivers/char/hw_random/Kconfig         |   2 +-
>  drivers/char/hw_random/cavium-rng-vf.c | 194 +++++++++++++++++++++++++++++++--
>  drivers/char/hw_random/cavium-rng.c    |  11 +-
>  3 files changed, 190 insertions(+), 17 deletions(-)

Patch applied.  Thanks.
-- 
Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt



[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux