[SeaBIOS] [RFC PATCH 0/2] Add support for the TPM physical presence interface

Stefan Berger stefanb at linux.vnet.ibm.com
Thu Jan 11 15:57:00 CET 2018

The following 2 patches add support for the TPM's physial presence
interface (PPI). The patches require the recently posted QEMU patch
for support of PPI:


We assume a device at 0xffff 0000 - 0xffff 00ff where the OS can write
a code into that SeaBIOS needs to find and act upon after a reboot.

I have previously tried to use a memory location allocated within the ACPI
stream but that causes problems for finding the location after reboot since
the ACPI is completely rewritten and all memory it covers erased, thus
leaving no trace of the code the OS wrote into the memory. Per Kevin's
suggestion we are now using a device at that well known address.

The patches are functional with Linux. One missing part is that the result
code from the last TPM operation should be put into the shared memory block
so that the user can see the code. However, currently the TPM error code
from the responses are not passed back from the function calls, so in
case of failure I am simply returning 0x0badc0de.


Stefan Berger (2):
  tcgbios: Add physical presence interface support
  tcgbios: extend physical presence interface with more functions

 src/post.c    |   4 ++
 src/std/tcg.h |  25 +++++++++++++
 src/tcgbios.c | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 src/tcgbios.h |   3 ++
 4 files changed, 145 insertions(+), 2 deletions(-)


More information about the SeaBIOS mailing list