drivers/char/tpm/Kconfig

Source file repositories/reference/linux-study-clean/drivers/char/tpm/Kconfig

File Facts

System
Linux kernel
Corpus path
drivers/char/tpm/Kconfig
Extension
[no extension]
Size
9398 bytes
Lines
259
Domain
Driver Families
Bucket
drivers/char
Inferred role
Driver Families: build/configuration rule
Status
atlas-only

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

# SPDX-License-Identifier: GPL-2.0-only
#
# TPM device configuration
#

menuconfig TCG_TPM
	tristate "TPM Hardware Support"
	depends on HAS_IOMEM
	imply SECURITYFS
	select CRYPTO
	select CRYPTO_HASH_INFO
	help
	  If you have a TPM security chip in your system, which
	  implements the Trusted Computing Group's specification,
	  say Yes and it will be accessible from within Linux.  For
	  more information see <http://www.trustedcomputinggroup.org>. 
	  An implementation of the Trusted Software Stack (TSS), the 
	  userspace enablement piece of the specification, can be 
	  obtained at: <http://sourceforge.net/projects/trousers>.  To 
	  compile this driver as a module, choose M here; the module 
	  will be called tpm. If unsure, say N.
	  Notes:
	  1) For more TPM drivers enable CONFIG_PNP, CONFIG_ACPI
	  and CONFIG_PNPACPI.
	  2) Without ACPI enabled, the BIOS event log won't be accessible,
	  which is required to validate the PCR 0-7 values.

if TCG_TPM

config TCG_TPM2_HMAC
	bool "Use HMAC and encrypted transactions on the TPM bus"
	default n
	select CRYPTO_ECDH
	select CRYPTO_LIB_AESCFB
	select CRYPTO_LIB_SHA256
	select CRYPTO_LIB_UTILS
	help
	  Setting this causes us to deploy a scheme which uses request
	  and response HMACs in addition to encryption for
	  communicating with the TPM to prevent or detect bus snooping
	  and interposer attacks (see tpm-security.rst).  Saying Y
	  here adds some encryption overhead to all kernel to TPM
	  transactions.

config HW_RANDOM_TPM
	bool "TPM HW Random Number Generator support"
	depends on TCG_TPM && HW_RANDOM && !(TCG_TPM=y && HW_RANDOM=m)
	default y
	help
	  This setting exposes the TPM's Random Number Generator as a hwrng
	  device. This allows the kernel to collect randomness from the TPM at
	  boot, and provides the TPM randomines in /dev/hwrng.

	  If unsure, say Y.

config TCG_TIS_CORE
	tristate
	help
	TCG TIS TPM core driver. It implements the TPM TCG TIS logic and hooks
	into the TPM kernel APIs. Physical layers will register against it.

config TCG_TIS
	tristate "TPM Interface Specification 1.2 Interface / TPM 2.0 FIFO Interface"
	depends on X86 || OF
	select TCG_TIS_CORE
	help
	  If you have a TPM security chip that is compliant with the
	  TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
	  specification (TPM2.0) say Yes and it will be accessible from
	  within Linux. To compile this driver as a module, choose  M here;

Annotation

Implementation Notes