[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