On Mon, 9 Jul 2018 10:07:46 -0400 Stefan Berger <stef...@linux.vnet.ibm.com> wrote:
> On 07/09/2018 10:05 AM, Igor Mammedov wrote: > > On Mon, 2 Jul 2018 10:54:13 -0400 > > Stefan Berger <stef...@linux.vnet.ibm.com> wrote: > > > >> On 07/02/2018 07:57 AM, Igor Mammedov wrote: > >>> On Fri, 29 Jun 2018 08:20:38 -0400 > >>> Stefan Berger <stef...@linux.vnet.ibm.com> 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 Weird, 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) > > Stefan >