linux-doc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Jarkko Sakkinen" <jarkko@kernel.org>
To: "Bagas Sanjaya" <bagasdotme@gmail.com>,
	<linux-integrity@vger.kernel.org>
Cc: "Alexander Steffen" <Alexander.Steffen@infineon.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>,
	"James Bottomley" <James.Bottomley@hansenpartnership.com>,
	"Jason Gunthorpe" <jgg@ziepe.ca>,
	"Jonathan Corbet" <corbet@lwn.net>,
	"Lino Sanfilippo" <l.sanfilippo@kunbus.com>,
	"Mimi Zohar" <zohar@linux.ibm.com>,
	"Peter Huewe" <peterhuewe@gmx.de>,
	"Randy Dunlap" <rdunlap@infradead.org>,
	<linux-doc@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 2/2] Documentation: tpm_tis
Date: Sun, 14 Apr 2024 00:41:29 +0300	[thread overview]
Message-ID: <D0JBLACWBFZZ.2ZYOFBJVG5EVU@kernel.org> (raw)
In-Reply-To: <ZhfAYVLwoYAPnYbI@archie.me>

On Thu Apr 11, 2024 at 1:50 PM EEST, Bagas Sanjaya wrote:
> On Tue, Apr 09, 2024 at 10:08:47PM +0300, Jarkko Sakkinen wrote:
> > diff --git a/Documentation/security/tpm/tpm_tis.rst b/Documentation/security/tpm/tpm_tis.rst
> > new file mode 100644
> > index 000000000000..b448ea3db71d
> > --- /dev/null
> > +++ b/Documentation/security/tpm/tpm_tis.rst
> > @@ -0,0 +1,46 @@
> > +.. SPDX-License-Identifier: GPL-2.0
> > +
> > +=========================
> > +TPM FIFO interface driver
> > +=========================
> > +
> > +TCG PTP Specification defines two interface types: FIFO and CRB. The former is
> > +based on sequenced read and write operations,  and the latter is based on a
> > +buffer containing the full command or response.
> > +
> > +FIFO (First-In-First-Out) interface is used by the tpm_tis_core dependent
> > +drivers. Originally Linux had only a driver called tpm_tis, which covered
> > +memory mapped (aka MMIO) interface but it was later on extended to cover other
> > +physical interfaces supported by the TCG standard.
> > +
> > +For legacy compliance the original MMIO driver is called tpm_tis and the
> Did you mean "For historical reasons above ..."?

That would be better wording.

> > +framework for FIFO drivers is named as tpm_tis_core. The postfix "tis" in
> > +tpm_tis comes from the TPM Interface Specification, which is the hardware
> > +interface specification for TPM 1.x chips.
> > +
> > +Communication is based on a 20 KiB buffer shared by the TPM chip through a
> > +hardware bus or memory map, depending on the physical wiring. The buffer is
> > +further split into five equal-size 4 KiB buffers, which provide equivalent
> > +sets of registers for communication between the CPU and TPM. These
> > +communication endpoints are called localities in the TCG terminology.
> > +
> > +When the kernel wants to send commands to the TPM chip, it first reserves
> > +locality 0 by setting the requestUse bit in the TPM_ACCESS register. The bit is
> > +cleared by the chip when the access is granted. Once it completes its
> > +communication, the kernel writes the TPM_ACCESS.activeLocality bit. This
> > +informs the chip that the locality has been relinquished.
> > +
> > +Pending localities are served in order by the chip in descending order, one at
> > +a time:
> > +
> > +- Locality 0 has the lowest priority.
> > +- Locality 5 has the highest priority.
> > +
> > +Further information on the purpose and meaning of the localities can be found
> > +in section 3.2 of the TCG PC Client Platform TPM Profile Specification.
> > +
> > +References
> > +==========
> > +
> > +TCG PC Client Platform TPM Profile (PTP) Specification
> > +https://trustedcomputinggroup.org/resource/pc-client-platform-tpm-profile-ptp-specification/
>
> Other than that,
>
> Reviewed-by: Bagas Sanjaya <bagasdotme@gmail.com>


Thanks! I'll apply this with the fix you proposed.

For everyone: this is by no means perfect. The point is to seed
something we can build on top of. So I leave it rather lacking stuff
than try to document every possible bells and whistle. This can be
then improved based on discussions and future patch sets.

BR, Jarkko

      reply	other threads:[~2024-04-13 21:41 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-09 19:08 [PATCH 0/2] TPM documentation updates Jarkko Sakkinen
2024-04-09 19:08 ` [PATCH 1/2] MAINTAINERS: Update URL's for KEYS/KEYRINGS_INTEGRITY and TPM DEVICE DRIVER Jarkko Sakkinen
2024-04-09 19:08 ` [PATCH 2/2] Documentation: tpm_tis Jarkko Sakkinen
2024-04-11 10:50   ` Bagas Sanjaya
2024-04-13 21:41     ` Jarkko Sakkinen [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=D0JBLACWBFZZ.2ZYOFBJVG5EVU@kernel.org \
    --to=jarkko@kernel.org \
    --cc=Alexander.Steffen@infineon.com \
    --cc=James.Bottomley@hansenpartnership.com \
    --cc=bagasdotme@gmail.com \
    --cc=corbet@lwn.net \
    --cc=dpsmith@apertussolutions.com \
    --cc=jgg@ziepe.ca \
    --cc=l.sanfilippo@kunbus.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterhuewe@gmx.de \
    --cc=rdunlap@infradead.org \
    --cc=zohar@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).