|
From: | Stefan Berger |
Subject: | Re: [Qemu-devel] [PATCH v6 0/4] Add support for TPM Physical Presence interface |
Date: | Mon, 9 Jul 2018 12:02:49 -0400 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 |
On 07/09/2018 11:35 AM, Igor Mammedov wrote:
On Mon, 9 Jul 2018 10:07:46 -0400 Stefan Berger <address@hidden> wrote: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. StefanAre 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.v6it 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-tpmWeird, I'm getting page not found. (tried just your account without seabios-tpm, I see on full repos list qemu-tpm but nothing with ppi)
Forgot, it was a private repo. Now it's public.
[Prev in Thread] | Current Thread | [Next in Thread] |