Re: [PATCH v2] Documentation: tpm_tis
From: Jarkko Sakkinen
Date: Thu Mar 21 2024 - 12:36:03 EST
On Thu Mar 21, 2024 at 6:32 PM EET, Jarkko Sakkinen wrote:
> On Thu Mar 21, 2024 at 6:24 PM EET, Jarkko Sakkinen wrote:
> > On Thu Mar 21, 2024 at 6:09 PM EET, Stefan Berger wrote:
> > >
> > >
> > > On 3/21/24 11:51, Jarkko Sakkinen wrote:
> > > > On Wed Mar 20, 2024 at 6:15 PM EET, Stefan Berger wrote:
> > > >>
> > > >>
> > > >> On 3/20/24 04:56, Jarkko Sakkinen wrote:
> > > >>> Based recent discussions on LKML, provide preliminary bits of tpm_tis_core
> > > >>> dependent drivers. Includes only bare essentials but can be extended later
> > > >>> on case by case. This way some people may even want to read it later on.
> > > >>>
> > > >>> Cc: Jonathan Corbet <corbet@xxxxxxx>
> > > >>> CC: Daniel P. Smith <dpsmith@xxxxxxxxxxxxxxxxxxxx>
> > > >>> Cc: Lino Sanfilippo <l.sanfilippo@xxxxxxxxxx>
> > > >>> Cc: Jason Gunthorpe <jgg@xxxxxxxx>
> > > >>> Cc: Peter Huewe <peterhuewe@xxxxxx>
> > > >>> Cc: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>
> > > >>> Cc: Alexander Steffen <Alexander.Steffen@xxxxxxxxxxxx>
> > > >>> Cc: keyrings@xxxxxxxxxxxxxxx
> > > >>> Cc: linux-doc@xxxxxxxxxxxxxxx
> > > >>> Cc: linux-kernel@xxxxxxxxxxxxxxx
> > > >>> Cc: linux-integrity@xxxxxxxxxxxxxxx
> > > >>> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> > > >>> Signed-off-by: Jarkko Sakkinen <jarkko@xxxxxxxxxx>
> > > >>> ---
> > > >>> v2:
> > > >>> - Fixed errors reported by Randy:
> > > >>> https://lore.kernel.org/all/aed28265-d677-491a-a045-24b351854b24@xxxxxxxxxxxxx/
> > > >>> - Improved the text a bit to have a better presentation.
> > > >>> ---
> > > >>> Documentation/security/tpm/index.rst | 1 +
> > > >>> Documentation/security/tpm/tpm_tis.rst | 30 ++++++++++++++++++++++++++
> > > >>> 2 files changed, 31 insertions(+)
> > > >>> create mode 100644 Documentation/security/tpm/tpm_tis.rst
> > > >>>
> > > >>> diff --git a/Documentation/security/tpm/index.rst b/Documentation/security/tpm/index.rst
> > > >>> index fc40e9f23c85..f27a17f60a96 100644
> > > >>> --- a/Documentation/security/tpm/index.rst
> > > >>> +++ b/Documentation/security/tpm/index.rst
> > > >>> @@ -5,6 +5,7 @@ Trusted Platform Module documentation
> > > >>> .. toctree::
> > > >>>
> > > >>> tpm_event_log
> > > >>> + tpm_tis
> > > >>> tpm_vtpm_proxy
> > > >>> xen-tpmfront
> > > >>> tpm_ftpm_tee
> > > >>> diff --git a/Documentation/security/tpm/tpm_tis.rst b/Documentation/security/tpm/tpm_tis.rst
> > > >>> new file mode 100644
> > > >>> index 000000000000..b331813b3c45
> > > >>> --- /dev/null
> > > >>> +++ b/Documentation/security/tpm/tpm_tis.rst
> > > >>> @@ -0,0 +1,30 @@
> > > >>> +.. SPDX-License-Identifier: GPL-2.0
> > > >>> +
> > > >>> +=========================
> > > >>> +TPM FIFO interface Driver
> > > >>> +=========================
> > > >>> +
> > > >>> +FIFO (First-In-First-Out) is the name of the hardware interface used by the
> > > >>
> > > >> FIFO is the type. I am surprised you call it a 'name'. I would say TIS
> > > >> is the 'name'.
> > > >
> > > > It's what the official specification calls it [1].
> > > >
> > > >
> > > >>
> > > >>> +tpm_tis_core dependent drivers. The prefix "tis" comes from the TPM Interface
> > > >>
> > > >> tis is a tla -- a three letter *acronym*. You aren't using it as a 'prefix'.
> > > >
> > > > I don't know what "tla" means.
> > > >
> > > >>
> > > >>> +Specification, which is the hardware interface specification for TPM 1.x chips.
> > > >>
> > > >> It's also available for TPM2.
> > > >
> > > > Yes, but TIS is the name used by the legacy specification.
> > >
> > >
> > > The point is that TIS is not just a TPM 1.x interface but also used for
> > > TPM 2.
> >
> >
> > FIFO interface is what is used in the spec so I'll stick to that.
>
> E.g. Table 15 - *FIFO* Interface Identifier Register
>
> Not *TIS* Inteface Identifier Register.
>
> I don't want to invent my own terminology here and this the spec
> that we usually refer in every possible discussion around the topic.
That table actually also clarifies this pretty well, see interface type:
0000 – FIFO interface as defined in PTP for TPM 2.0 is active.
0001 – CRB interface is active.
1111 – FIFO interface as defined in TIS1.3 is active (all other fields
of this register are don’t care).
E.g. FIFO interface can be configured according to TIS 1.3 specification
but the interface is still referred as FIFO interface in the current
spec.
BR, Jarkko