TPM(4)
π TPM(4) β the kernel interfaces manual page, bestie edition π
okay so this is the tpm page from the Kernel Interfaces Manual, and we're gonna get you ALL the way caught up. no skimming, no skipping, we're doing the whole thing. periodt. π«Ά
β¨ NAME β¨
tpm β Trusted Platform Module. that's it, that's the name. iconic behaviour honestly π
πΈ SYNOPSIS πΈ
so like, if you wanna bake this driver INTO your kernel (main character move), you drop these lines into your kernel configuration file:
device tpm
OR β and this is the lowkey easier route β you can load it as a module at boot time instead, by putting this line in loader.conf(5):
tpm_load="YES"
and then there's the /boot/device.hints situation, which looks like this, exactly, don't get creative:
hint.tpm.0.at="isa"
hint.tpm.0.maddr="0xfed40000"
hint.tpm.0.msize="0x5000"
hint.tpm.1.at="isa"
hint.tpm.1.maddr="0xfed40000"
hint.tpm.1.msize="0x1000"
like. there's two of them. 0 and 1. they have different sizes. that's just what it is π
π¦ DESCRIPTION π¦
the tpm driver is the one holding it down for all the various trusted platform modules (TPM) that can store cryptographic keys. she's the plug for your secret little key vault πβ¨
the modules she supports, aka the roster:
- Atmel 97SC3203
- Broadcom BCM0102
- Infineon IFX SLD 9630 TT 1.1 and IFX SLB 9635 TT 1.2
- Intel INTC0102
- Sinosun SNS SSX35
- STM ST19WP18
- Winbond WEC WPCT200
look at that lineup. no notes. π
and here's the tea: the driver can be configured to use an IRQ, and the way you do that is by providing a free ISA interrupt vector in /boot/device.hints. that's it, that's the whole thing, you just gotta give her an interrupt to work with π
π SEE ALSO π
also!! the homepage of the BSSSD project β the ones who developed the original tpm driver β lives right here: http://bsssd.sourceforge.net/. go say hi π«Ά
and if you want the TPM main specification, it's at: https://trustedcomputinggroup.org/resource/tpm-main-specification/. iykyk π
β STANDARDS β
this is TPM Main Specification Level 2 Version 1.2, and the receipts are:
- ISO/IEC, 11889-1:2009, Information technology -- Trusted Platform Module -- Part 1: Overview,
https://www.iso.org/standard/50970.html. - ISO/IEC, 11889-2:2009, Information technology -- Trusted Platform Module -- Part 2: Design principles,
https://www.iso.org/standard/50971.html. - ISO/IEC, 11889-3:2009, Information technology -- Trusted Platform Module -- Part 3: Structures,
https://www.iso.org/standard/50972.html.
three parts. all 2009. all ISO/IEC. she's certified, fr fr πβ¨
π HISTORY π
the tpm driver first appeared in FreeBSD 8.2 and was later added to OpenBSD 6.1. glow up across operating systems, we love to see it π¦
π AUTHORS π
the tpm driver was written by Michael Shalayeff and Hans-Joerg Hoexer. legends, honestly, thank you for your service πβοΈπ
and that's the whole page bestie!! every option, every hint, every ISO link, all of it. nothing skipped. we ate and left no crumbs π
so this one shipped under Debian, dated October 31, 2018 β spooky season release, which honestly tracks for a thing that stores your cryptographic keys ππ mwah, go read intro(4) next π
π¦ where this page comes from
- debian bookworm: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- debian trixie: freebsd-manpages 12.2-2 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu jammy: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu noble: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu questing: freebsd-manpages 12.2-2
- ubuntu resolute: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu stonking: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- Copyright (c) 2010 Hans-Joerg Hoexer
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms