[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <CZZKGEUSMI8F.CKFDVBIF1S4R@kernel.org>
Date: Thu, 21 Mar 2024 18:24:58 +0200
From: "Jarkko Sakkinen" <jarkko@...nel.org>
To: "Stefan Berger" <stefanb@...ux.ibm.com>,
<linux-integrity@...r.kernel.org>
Cc: "Jonathan Corbet" <corbet@....net>, "Daniel P . Smith"
<dpsmith@...rtussolutions.com>, "Lino Sanfilippo"
<l.sanfilippo@...bus.com>, "Jason Gunthorpe" <jgg@...pe.ca>, "Peter Huewe"
<peterhuewe@....de>, "James Bottomley"
<James.Bottomley@...senPartnership.com>, "Alexander Steffen"
<Alexander.Steffen@...ineon.com>, <keyrings@...r.kernel.org>,
<linux-doc@...r.kernel.org>, <linux-kernel@...r.kernel.org>, "Randy Dunlap"
<rdunlap@...radead.org>
Subject: Re: [PATCH v2] Documentation: tpm_tis
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@....net>
> >>> CC: Daniel P. Smith <dpsmith@...rtussolutions.com>
> >>> Cc: Lino Sanfilippo <l.sanfilippo@...bus.com>
> >>> Cc: Jason Gunthorpe <jgg@...pe.ca>
> >>> Cc: Peter Huewe <peterhuewe@....de>
> >>> Cc: James Bottomley <James.Bottomley@...senPartnership.com>
> >>> Cc: Alexander Steffen <Alexander.Steffen@...ineon.com>
> >>> Cc: keyrings@...r.kernel.org
> >>> Cc: linux-doc@...r.kernel.org
> >>> Cc: linux-kernel@...r.kernel.org
> >>> Cc: linux-integrity@...r.kernel.org
> >>> Cc: Randy Dunlap <rdunlap@...radead.org>
> >>> Signed-off-by: Jarkko Sakkinen <jarkko@...nel.org>
> >>> ---
> >>> v2:
> >>> - Fixed errors reported by Randy:
> >>> https://lore.kernel.org/all/aed28265-d677-491a-a045-24b351854b24@infradead.org/
> >>> - 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.
> >
> >>
> >>> +
> >>> +Communication is based on a 5 KiB buffer shared by the TPM chip through a
> >>
> >> I thought it was typically 4 KiB.
> >
> > You are basing this on table 9 in [1]?
>
> Yes. See below.
>
> >
> >>
> >>> +hardware bus or memory map, depending on the physical wiring. The buffer is
> >>> +further split into five equal-size buffers, which provide equivalent sets of
>
> If you are referring to the MMIO region between 0xfed4 0000 and 0xfed4
> 4fff as a buffer then you are talking about a **20kb** MMIO region
> (0x5000) that is **split** into equal-sized MMIO regions, each having
> 4kb (0x1000). Yes, that's the 4kb then but there that one is no 5kb
> 'further split into five equal-sized buffers' of presumably 1kb each.
> Each locality has a 0x1000 sized MMIO region.
Oops, true! I'll fix this part thanks, had a blind spot :-)
Will fix for v3.
BR, Jarkko
Powered by blists - more mailing lists