| commit | cb0340c3600a6c6ab6c2cbc40502f61b78c34c4f | [log] [tgz] |
|---|---|---|
| author | Pierre-Clément Tosi <ptosi@google.com> | Mon Mar 06 11:49:39 2023 +0000 |
| committer | Pierre-Clément Tosi <ptosi@google.com> | Mon Mar 06 11:49:39 2023 +0000 |
| tree | 4c7732d8252c1c36df260d3903577c33e4f54047 | |
| parent | 466d7580f2461c7065f420475ef14c05fbf7417e [diff] |
pvmfw: Loop SMCCC_TRNG_RND on NO_ENTROPY
As the firmware is allowed by the specification to return NO_ENTROPY:
The call is non-blocking, when the available entropy is less than N,
the call must returns `NO_ENTROPY`.
There are system designs where FW may limit the rate at which
entropy is requested by a caller.
To enable this entropy request rate limitation, the call is allowed
to return `NO_ENTROPY` even if sufficient conditioned
Loop until we receive the requested entropy instead of throwing an error
(resulting in a pvmfw panic).
Note that this could cause a pVM to become unresponsive during boot if
the firmware never returns the requested entropy (a behaviour that seems
to be compliant with the spec).
Bug: 270841564
Test: atest MicrodroidHostTests
Change-Id: If2bb3fba0dcbded3772a41c9b7e6e7fb1180f225
This repository contains userspace services related to running virtual machines on Android, especially protected virtual machines. See the getting started documentation and Microdroid README for more information.