[PATCH v6 0/7] tpm: rng: Move TPM RNG functionality to driver model
Simon Glass
sjg at chromium.org
Tue Jul 5 11:47:17 CEST 2022
Hi Sughosh,
On Mon, 4 Jul 2022 at 07:35, Sughosh Ganu <sughosh.ganu at linaro.org> wrote:
>
>
> The TPM device provides the random number generator(RNG)
> functionality, whereby sending a command to the TPM device results in
> the TPM device responding with random bytes.
>
> There was a discussion on the mailing list earlier[1], where it was
> explained that platforms with a TPM device can install the
> EFI_RNG_PROTOCOL for getting the random bytes instead of populating
> the dtb with the kaslr-seed property. That would make it possible to
> measure the dtb.
>
> The TPM uclass driver adds the RNG child device as part of it's
> post_probe function.
>
> Some additional changes have also been made to facilitate the
> use of the RNG devices, including extending the 'rng' command to take
> the RNG device as one of the command-line parameters.
>
> This series depends on a patch[2] from Simon Glass for moving the TPM
> device version detection functions to the tpm_api.h header as static
> inline functions.
>
> These patches were under discussion earlier, specifically the patch to
> add the RNG functionality under the TPM device as a child, either
> through manual binding or through the device tree. Ilias had commented
> on the discussion last[3]. The discussion can be resumed through this
> version.
>
> I have dropped certain patches which were changing some of the TPM API
> functions to return an int instead of the current u32. These patches
> have been dropped due to review comments from Simon[4]. This work can
> be taken up separately, if desired.
>
> [1] - https://lore.kernel.org/u-boot/20220103120738.47835-1-ilias.apalodimas@linaro.org/
> [2] - https://lore.kernel.org/u-boot/20220301001125.1554442-2-sjg@chromium.org/T/#u
> [3] - https://lists.denx.de/pipermail/u-boot/2022-April/481708.html
> [4] - https://lists.denx.de/pipermail/u-boot/2022-March/477883.html
>
> Simon Glass (1):
> tpm: Export the TPM-version functions
>
> Sughosh Ganu (6):
> tpm: rng: Add driver model interface for TPM RNG device
> tpm: Add the RNG child device
> cmd: rng: Add support for selecting RNG device
> cmd: rng: Use a statically allocated array for random bytes
> doc: rng: Add documentation for the rng command
> test: rng: Add a UT testcase for the rng command
>
> cmd/Kconfig | 1 +
> cmd/rng.c | 42 +++++++++++------
> doc/usage/cmd/rng.rst | 26 +++++++++++
> doc/usage/index.rst | 1 +
> drivers/rng/Kconfig | 11 +++++
> drivers/rng/Makefile | 1 +
> drivers/rng/tpm_rng.c | 23 ++++++++++
> drivers/tpm/tpm-uclass.c | 37 +++++++++++++--
> include/tpm_api.h | 10 ++++
> lib/Kconfig | 1 +
> lib/tpm-v1.c | 13 +++---
> lib/tpm-v2.c | 6 +--
> lib/tpm_api.c | 98 ++++++++++++++++++----------------------
> test/dm/rng.c | 29 ++++++++++++
> 14 files changed, 217 insertions(+), 82 deletions(-)
> create mode 100644 doc/usage/cmd/rng.rst
> create mode 100644 drivers/rng/tpm_rng.c
>
> --
> 2.25.1
>
>
This looks OK to me.
Regards,
Simon
More information about the U-Boot
mailing list