~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/security/tpm/tpm_tis.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/security/tpm/tpm_tis.rst (Version linux-6.12-rc7) and /Documentation/security/tpm/tpm_tis.rst (Version linux-6.11.7)


  1 .. SPDX-License-Identifier: GPL-2.0                 1 .. SPDX-License-Identifier: GPL-2.0
  2                                                     2 
  3 =========================                           3 =========================
  4 TPM FIFO interface driver                           4 TPM FIFO interface driver
  5 =========================                           5 =========================
  6                                                     6 
  7 TCG PTP Specification defines two interface ty      7 TCG PTP Specification defines two interface types: FIFO and CRB. The former is
  8 based on sequenced read and write operations,       8 based on sequenced read and write operations,  and the latter is based on a
  9 buffer containing the full command or response      9 buffer containing the full command or response.
 10                                                    10 
 11 FIFO (First-In-First-Out) interface is used by     11 FIFO (First-In-First-Out) interface is used by the tpm_tis_core dependent
 12 drivers. Originally Linux had only a driver ca     12 drivers. Originally Linux had only a driver called tpm_tis, which covered
 13 memory mapped (aka MMIO) interface but it was      13 memory mapped (aka MMIO) interface but it was later on extended to cover other
 14 physical interfaces supported by the TCG stand     14 physical interfaces supported by the TCG standard.
 15                                                    15 
 16 For historical reasons above the original MMIO     16 For historical reasons above the original MMIO driver is called tpm_tis and the
 17 framework for FIFO drivers is named as tpm_tis     17 framework for FIFO drivers is named as tpm_tis_core. The postfix "tis" in
 18 tpm_tis comes from the TPM Interface Specifica     18 tpm_tis comes from the TPM Interface Specification, which is the hardware
 19 interface specification for TPM 1.x chips.         19 interface specification for TPM 1.x chips.
 20                                                    20 
 21 Communication is based on a 20 KiB buffer shar     21 Communication is based on a 20 KiB buffer shared by the TPM chip through a
 22 hardware bus or memory map, depending on the p     22 hardware bus or memory map, depending on the physical wiring. The buffer is
 23 further split into five equal-size 4 KiB buffe     23 further split into five equal-size 4 KiB buffers, which provide equivalent
 24 sets of registers for communication between th     24 sets of registers for communication between the CPU and TPM. These
 25 communication endpoints are called localities      25 communication endpoints are called localities in the TCG terminology.
 26                                                    26 
 27 When the kernel wants to send commands to the      27 When the kernel wants to send commands to the TPM chip, it first reserves
 28 locality 0 by setting the requestUse bit in th     28 locality 0 by setting the requestUse bit in the TPM_ACCESS register. The bit is
 29 cleared by the chip when the access is granted     29 cleared by the chip when the access is granted. Once it completes its
 30 communication, the kernel writes the TPM_ACCES     30 communication, the kernel writes the TPM_ACCESS.activeLocality bit. This
 31 informs the chip that the locality has been re     31 informs the chip that the locality has been relinquished.
 32                                                    32 
 33 Pending localities are served in order by the      33 Pending localities are served in order by the chip in descending order, one at
 34 a time:                                            34 a time:
 35                                                    35 
 36 - Locality 0 has the lowest priority.              36 - Locality 0 has the lowest priority.
 37 - Locality 5 has the highest priority.             37 - Locality 5 has the highest priority.
 38                                                    38 
 39 Further information on the purpose and meaning     39 Further information on the purpose and meaning of the localities can be found
 40 in section 3.2 of the TCG PC Client Platform T     40 in section 3.2 of the TCG PC Client Platform TPM Profile Specification.
 41                                                    41 
 42 References                                         42 References
 43 ==========                                         43 ==========
 44                                                    44 
 45 TCG PC Client Platform TPM Profile (PTP) Speci     45 TCG PC Client Platform TPM Profile (PTP) Specification
 46 https://trustedcomputinggroup.org/resource/pc-     46 https://trustedcomputinggroup.org/resource/pc-client-platform-tpm-profile-ptp-specification/
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php