All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v8 0/8] tpm: rng: Move TPM RNG functionality to driver model
@ 2022-07-22 16:02 Sughosh Ganu
  2022-07-22 16:02 ` [PATCH v8 1/8] tpm: Export the TPM-version functions Sughosh Ganu
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Sughosh Ganu @ 2022-07-22 16:02 UTC (permalink / raw)
  To: u-boot; +Cc: Heinrich Schuchardt, Ilias Apalodimas, Simon Glass, Tom Rini


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.

[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

Changes since V7:
* Added a paragraph in the commit message highlighting the absence of
  the compatible string in the RNG driver, as suggested by Simon.
* Rearranged the inclusion of headers as per the coding style
  guidelines, as suggested by Simon.
* Use TPM_RNG_DRV_NAME for the RNG child name as suggested by Simon.


Ilias Apalodimas (1):
  efi_loader: initialize the RNG protocol after the TCC2

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        |  9 ++++
 drivers/rng/Makefile       |  1 +
 drivers/rng/tpm_rng.c      | 23 +++++++++
 drivers/tpm/tpm-uclass.c   | 40 +++++++++++++---
 include/tpm_api.h          | 10 ++++
 lib/Kconfig                |  1 +
 lib/efi_loader/efi_setup.c | 14 +++---
 lib/tpm_api.c              | 98 +++++++++++++++++---------------------
 test/dm/rng.c              | 29 +++++++++++
 13 files changed, 213 insertions(+), 82 deletions(-)
 create mode 100644 doc/usage/cmd/rng.rst
 create mode 100644 drivers/rng/tpm_rng.c

-- 
2.34.1



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2022-07-22 16:04 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-22 16:02 [PATCH v8 0/8] tpm: rng: Move TPM RNG functionality to driver model Sughosh Ganu
2022-07-22 16:02 ` [PATCH v8 1/8] tpm: Export the TPM-version functions Sughosh Ganu
2022-07-22 16:02 ` [PATCH v8 2/8] efi_loader: initialize the RNG protocol after the TCC2 Sughosh Ganu
2022-07-22 16:02 ` [PATCH v8 3/8] tpm: rng: Add driver model interface for TPM RNG device Sughosh Ganu
2022-07-22 16:02 ` [PATCH v8 4/8] tpm: Add the RNG child device Sughosh Ganu
2022-07-22 16:02 ` [PATCH v8 5/8] cmd: rng: Add support for selecting RNG device Sughosh Ganu
2022-07-22 16:02 ` [PATCH v8 6/8] cmd: rng: Use a statically allocated array for random bytes Sughosh Ganu
2022-07-22 16:02 ` [PATCH v8 7/8] doc: rng: Add documentation for the rng command Sughosh Ganu
2022-07-22 16:02 ` [PATCH v8 8/8] test: rng: Add a UT testcase " Sughosh Ganu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.