Re: [PATCH v6 0/5] Add support for the TPM FF-A start method

From: Jarkko Sakkinen
Date: Thu Mar 06 2025 - 17:45:59 EST


On Wed, Mar 05, 2025 at 11:36:06AM -0600, Stuart Yoder wrote:
> Firmware Framework for Arm A-profile (FF-A) is a messaging framework
> for Arm-based systems, and in the context of the TPM CRB driver is used
> to signal 'start' to a CRB-based TPM service which is hosted in an
> FF-A secure partition running in TrustZone.
>
> These patches add support for the CRB FF-A start method defined
> in the TCG ACPI specification v1.4 and the FF-A ABI defined
> in the Arm TPM Service CRB over FF-A (DEN0138) specification:
> https://developer.arm.com/documentation/den0138/latest/
>
> The first patch adds an FF-A driver to handle the FF-A messaging when
> communicating with a CRB-based TPM secure partition built on FF-A.
> The driver is probed when the TPM secure partition is discovered by
> the Linux FF-A infrastructure.
>
> The second patch consolidates the check for idle support in the CRB
> driver to one place.
>
> The third patch defines the new ACPI start method enumeration for
> CRB over FF-A.
>
> The fourth patch adds support for the FF-A ACPI start method to
> the TPM crb driver.
>
> The fifth patch adds documentation explaining how the CRB driver
> and FF-A relate.
>
> Version 6
> -in tpm_crb removed unnecessary brackets from if statement and
> fixed comment style
> -noticed and fixed bug in patch 2, polarity of return value
> from tpm_crb_has_idle() was wrong and wasn't caught in past
> testing
> -added Reviewed-by tag to patches 2 and 5
>
> Version 5
> -tpm_ffa_crb patch: removed module version
> -tpm_ffa_crb patch: fixed module description
> -tpm_ffa_crb patch: updated comment on mutex declaration
> -reworded commit message for patch 2 as per Jarkko's
> suggestion
> -added Acked tag by Sudeep to patch 1 for FF-A changes
> -added Reviewed-by tag to patches 3 and 4
>
> Version 4
> -fix warning from kernel test robot in patch 1
> -fix warnings from checkpatch.pl --strict
> -clean up unnecessary parenthesis usage
> -update variable declaration to be reverse tree order
> -document exported functions in tpm_crb_ffa driver
> -remove unnecessary author and maintainer info in tpm_crb_ffa driver
> -fix declaration of variables to be in reverse tree order
>
> Version 3
> -changed prefixes used throughout patch series to tpm_crb_ffa*
>
> Version 2
> -updates to cover letter to define FF-A
> -added new patch with documentation
> -created pull request in ACPIA and added link to the patch
> updating actbl3.h
> -added tpm_ prefix to the FF-A CRB driver
>
> Stuart Yoder (5):
> tpm_crb: implement driver compliant to CRB over FF-A
> tpm_crb: clean-up and refactor check for idle support
> ACPICA: add start method for Arm FF-A
> tpm_crb: add support for the Arm FF-A start method
> Documentation: tpm: add documentation for the CRB FF-A interface
>
> Documentation/security/tpm/tpm_ffa_crb.rst | 65 ++++
> drivers/char/tpm/Kconfig | 9 +
> drivers/char/tpm/Makefile | 1 +
> drivers/char/tpm/tpm_crb.c | 105 +++++--
> drivers/char/tpm/tpm_crb_ffa.c | 348 +++++++++++++++++++++
> drivers/char/tpm/tpm_crb_ffa.h | 25 ++
> include/acpi/actbl3.h | 1 +
> 7 files changed, 535 insertions(+), 19 deletions(-)
> create mode 100644 Documentation/security/tpm/tpm_ffa_crb.rst
> create mode 100644 drivers/char/tpm/tpm_crb_ffa.c
> create mode 100644 drivers/char/tpm/tpm_crb_ffa.h
>
> --
> 2.34.1
>

OK, I guess we can apply this? Any objections? I'll apply
this over the weekend if nothing alarming comes up.

Thanks for the effort and patience!

BR, Jarkko