TPM(4)
πΈ TPM(4) β the tpm manual, bestie edition πΈ
okay so real talk: TPM(4) is the page for tpm, the Trusted Platform Module driver, and it's honestly iconic. it stores cryptographic keys for you. main character energy fr fr. let's get into it π
β¨ NAME β¨
tpm β short for Trusted Platform Module, aka the little crypto vault on your board π
π¦ SYNOPSIS π¦
so if you wanna bake this driver into the kernel, you drop these lines into your kernel configuration file:
device tpm
or, alternatively β and this is the lowkey easier route β load it as a module at boot time by putting this line in loader.conf(5):
tpm_load="YES"
and then in /boot/device.hints you're gonna want:
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 yes, that's the whole vibe check right there π
π DESCRIPTION π
the tpm driver provides support for various trusted platform modules (TPM) β the ones that can store cryptographic keys. that's it, that's the pitch. keys. stored. securely. slay β¨
supported modules (the whole roster, no gatekeeping):
- 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
if yours is on that list, congrats, you ate π
now, the driver can also be configured to use an IRQ β you just gotta provide a free ISA interrupt vector in /boot/device.hints. that's the whole deal, ngl. no cap. π₯
π«Ά note bestie: that IRQ thing is a config thing you do on purpose in /boot/device.hints, it's not automatic, so don't be surprised when nothing happens unless you set it up.
π SEE ALSO π
the homepage of the BSSSD project, which developed the original tpm driver: http://bsssd.sourceforge.net/ β go show them some love, they literally started this π
and the TPM main specification can be found at: https://trustedcomputinggroup.org/resource/tpm-main-specification/ β for when you want the real real π
π STANDARDS π
this is all under TPM Main Specification Level 2 Version 1.2, and here's the receipt trail:
- 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, all linked. periodt π
π§ 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. absolute legends, both of them ππ«Ά
and that's the page!! this was the Debian build, dated October 31, 2018 β spooky season release, honestly iconic timing ππ bye bestie, go store some keys responsibly π¦β¨
π¦ where this page comes from
- freebsd 14.5: base 14.5
- freebsd 15.1: base 15.1
- nixpkgs unstable: source
- Copyright (c) 2010 Hans-Joerg Hoexer
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms