qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v6 0/4] Add support for TPM Physical Presence in


From: Stefan Berger
Subject: Re: [Qemu-devel] [PATCH v6 0/4] Add support for TPM Physical Presence interface
Date: Mon, 9 Jul 2018 10:07:46 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0

On 07/09/2018 10:05 AM, Igor Mammedov wrote:
On Mon, 2 Jul 2018 10:54:13 -0400
Stefan Berger <address@hidden> wrote:

On 07/02/2018 07:57 AM, Igor Mammedov wrote:
On Fri, 29 Jun 2018 08:20:38 -0400
Stefan Berger <address@hidden> wrote:
On 06/28/2018 01:26 PM, Marc-André Lureau wrote:
Hi,

The following patches implement the TPM Physical Presence Interface
that allows a user to set a command via ACPI (sysfs entry in Linux)
that, upon the next reboot, the firmware looks for and acts upon by
sending sequences of commands to the TPM.

A dedicated memory region is added to the TPM CRB & TIS devices, at
address/size 0xFED45000/0x400. A new "etc/tpm/config" fw_cfg entry
holds the location for that PPI region and some version details, to
allow for future flexibility.

With the associated edk2/ovmf firmware, the Windows HLK "PPI 1.3" test
now runs successfully.

It is based on previous work from Stefan Berger ("[PATCH v2 0/4]
Implement Physical Presence interface for TPM 1.2 and 2")

The edk2 support is merged upstream.
The least I could do now is test this... So, I tested this now with the
SeaBIOS support I have for this series. It's here:

https://github.com/stefanberger/seabios-tpm/tree/qemu-ppi.v6

It works fine with at least an attached TPM 1.2. I haven't tried TPM 2
yet but would not expect complications from QEMU level. A operation
request value put into Linux's PPI interface can be read back also after
a VM suspend / resume operation. The list of supported operations is
shown correctly (needs Linux extensions for TPM 2 operation values
beyond a certain number iirc). The request operation is executed
correctly and the response shows the last operation and its result. So
it seems to work fine.


      Stefan
Are there any instructions how to test it?
1) You need to get swtpm running on a machine.

Build libtpms from the 'TPM 2 preview' branch here:

https://github.com/stefanberger/libtpms/tree/tpm2-preview.rev146.v2

Instructions are here: https://github.com/stefanberger/libtpms/wiki


Build swtpm from the TPM 2 preview branch here:

https://github.com/stefanberger/swtpm/tree/tpm2-preview.v2

Instructions are here: https://github.com/stefanberger/swtpm/wiki


2) Compile and install my branch of SeaBIOS with the PPI support:

branch is here: https://github.com/stefanberger/seabios-tpm/tree/qemu-ppi.v6
it looks like repo is gone, is it merged upstream?


It's the following repo with the branch qemu-ppi.v6.


https://github.com/stefanberger/seabios-tpm


   Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]