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:

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