[PATCH 0/6 v5] TPM cleanups and MMIO driver
Ilias Apalodimas
ilias.apalodimas at linaro.org
Sun Nov 7 14:39:13 CET 2021
Hi Heinrich,
On Sun, 7 Nov 2021 at 12:54, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>
>
>
> On 11/5/21 20:05, Ilias Apalodimas wrote:
> > Hi!
> > This is the update for [1].
> >
> > Changes since v4:
> > - renamed struct udevice *udev -> struct udevice *dev
> > - added comments on struct tpm_tis_phy_ops
> > - removed duplicate defines from tpm2_tis_spi driver (now in tpm_tis.h)
> > - moved API function description for the .c to the .h file
> > - added Reviewed-by tags from Simon and Heinrich
> > Changes since v3:
> > - Coverted SPI TPM to use the API as well
> > - moved some log_info to log_debug
> > - Added documentation on how to run QEMU and enabled TPM by default o
> > arm qemu builds
> > Changes since v2:
> > - Add myself as a maintainer on TPM drivers
> > Changes since v1:
> > - split off the tis core code into a different file
> >
>
> I am running qemu_arm64_defconfig puls CONFIG_CMD_TPM=y with this series
> applied:
>
> swtpm socket \
> --tpmstate dir=/tmp/mytpm1 \
> --ctrl type=unixio,path=/tmp/mytpm1/swtpm-sock
>
> (swtpm version 6.1, libtpms version 0.8.2-1ubuntu1)
>
> qemu-system-aarch64 -machine virt -m 1G -smp cores=2 -bios u-boot.bin
> -cpu cortex-a53 -nographic -gdb tcp::1234 -netdev user,id=eth0,tftp=tftp
> -device e1000,netdev=eth0 -device virtio-rng-pci -chardev
> socket,id=chrtpm,path=/tmp/mytpm1/swtpm-sock -tpmdev
> emulator,id=tpm0,chardev=chrtpm -device tpm-tis-device,tpmdev=tpm0
>
> => tpm2 info
> tpm_tis at 0 v2.0: VendorID 0x1014, DeviceID 0x0001, RevisionID 0x01 [closed]
>
> => bootefi hello
> Found 0 disks
> No EFI system partition
> Cannot install EFI_TCG2_PROTOCOL
>
> tpm2_get_capability(dev, TPM2_CAP_PCRS, 0, response, 1);
> returns 10.
>
> Why does the the TPM emulation fail?
The TPM subsystem doesn't automatically enable the device properly.
It's on my TODO list. Try issuing 'tpm2 init && tpm2 startup
TPM2_SU_CLEAR' before any TPM commands.
Thanks
/Ilias
>
> Best regards
>
> Heinrich
>
> > Ilias Apalodimas (6):
> > tpm2: Introduce TIS tpm core
> > tpm2: Add a TPMv2 MMIO TIS driver
> > tpm: Use the new API on tpm2 spi driver
> > configs: Enable tpmv2 mmio on qemu for arm/arm64
> > doc: qemu: Add instructions for swtpm usage
> > MAINTAINERS: Add entry for TPM drivers
> >
> > [1] https://lore.kernel.org/u-boot/20211103150910.69732-1-ilias.apalodimas@linaro.org/
> >
> > Ilias Apalodimas (6):
> > tpm2: Introduce TIS tpm core
> > tpm2: Add a TPMv2 MMIO TIS driver
> > tpm: Use the new API on tpm2 spi driver
> > configs: Enable tpmv2 mmio on qemu for arm/arm64
> > doc: qemu: Add instructions for swtpm usage
> > MAINTAINERS: Add entry for TPM drivers
> >
> > MAINTAINERS | 5 +
> > configs/qemu_arm64_defconfig | 2 +
> > configs/qemu_arm_defconfig | 2 +
> > doc/board/emulation/qemu-arm.rst | 25 ++
> > drivers/tpm/Kconfig | 9 +
> > drivers/tpm/Makefile | 3 +-
> > drivers/tpm/tpm2_tis_core.c | 463 +++++++++++++++++++++++++++++++
> > drivers/tpm/tpm2_tis_mmio.c | 152 ++++++++++
> > drivers/tpm/tpm2_tis_spi.c | 447 +++--------------------------
> > drivers/tpm/tpm_tis.h | 128 +++++++++
> > include/tpm-v2.h | 1 +
> > 11 files changed, 820 insertions(+), 417 deletions(-)
> > create mode 100644 drivers/tpm/tpm2_tis_core.c
> > create mode 100644 drivers/tpm/tpm2_tis_mmio.c
> >
More information about the U-Boot
mailing list