qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Auger Eric <eric.auger@redhat.com>
To: Stefan Berger <stefanb@linux.ibm.com>,
	eric.auger.pro@gmail.com, qemu-devel@nongnu.org,
	qemu-arm@nongnu.org, peter.maydell@linaro.org
Cc: marcandre.lureau@redhat.com, lersek@redhat.com, ardb@kernel.org,
	philmd@redhat.com
Subject: Re: [PATCH v4 00/10] vTPM for aarch64
Date: Thu, 27 Feb 2020 09:07:38 +0100	[thread overview]
Message-ID: <ee98e8ab-06df-e422-1ca5-f3f6a48145f2@redhat.com> (raw)
In-Reply-To: <4fb16117-f9d3-61af-9198-931590a46e3d@linux.ibm.com>

Hi Stefan,
On 2/26/20 11:44 PM, Stefan Berger wrote:
> On 2/26/20 3:59 PM, Eric Auger wrote:
>> This series adds the capability to instantiate an MMIO TPM TIS
>> in ARM virt. It is candidate to qemu 5.0.
> 
> I queued it now here:
> https://github.com/stefanberger/qemu-tpm/commits/tpm-next
> 
> I will send the PR within a few days. Thanks!
Thank you. I will just ping Peter to make sure he has no comments on

[PATCH v4 06/10] hw/arm/virt: vTPM support

Eric

> 
> Cheers,
> 
>    Stefan
> 
> 
> 
>>
>> The existing TPM TIS code is reshuffled into a generic part,
>> the ISA device and the sysbus device. The sysbus TPM-TIS
>> device gets dynamically instantiated in machvirt on the
>> platform bus.
>>
>> ACPI boot is not yet supported on ARM. Note that the UEFI
>> firmware is itself a consumer of the DT description, so we
>> need the DT related changes regardless of whether the VM
>> boots in DT or ACPI mode.
>>
>> Related qtests are reshuffled to allow the reuse of existing
>> tests for both the ISA and the sysbus devices: Adaption
>> consists in changing the qemu command line (change in the
>> device name and provide explicit machine options) and adapt
>> to the relocation of the TPM-TIS device in the memory map.
>>
>> The series was tested with the swtpm/libtpms emulator.
>> Automatic guest LUKS volume unlocking (tpm2) was successful.
>> EDK2 support is under development [3]. Thanks to Ard
>> for supporting me when setting up the test environment.
>>
>> Best Regards
>>
>> Eric
>>
>> Testing:
>>
>> mkdir /tmp/tpm
>> swtpm socket \
>> --tpm2 \
>> -t -d \
>> --tpmstate dir=/tmp/tpm \
>> --ctrl type=unixio,path=/tmp/swtpm-sock
>>
>> qemu command line must be augmented with the following options:
>>
>> -chardev socket,id=chrtpm,path=/tmp/swtpm-sock \
>> -tpmdev emulator,id=tpm0,chardev=chrtpm \
>> -device tpm-tis-device,tpmdev=tpm0 \
>>
>> References:
>> [1] libtpms: https://github.com/stefanberger/libtpms/wiki
>> [2] swtpm: https://github.com/stefanberger/swtpm/wiki
>> [3] [PATCH v3 0/9] ArmVirtPkg: implement measured boot for ArmVirtQemu
>>
>> This series can be found at:
>> https://github.com/eauger/qemu/tree/v4.2.0-tpm-patch-v4
>>
>> History:
>>
>> v3 -> v4:
>> - collect additional R-b's
>> - add 'Not used but needed for linking' mention related to
>>    tpm_tis_base_addr in CRB test files
>> - fix comment style
>>
>> RFCv2 -> PATCH v3:
>> - Updated the doc for ARM
>> - Adapted existing tests for ARM
>> - use qemu_fdt_setprop_string in add_tpm_tis_fdt_node
>> - Collected R-b's
>> - Comments not taken into account:
>>    - I have kept the tpm-tis-device name for now despite Stefan's
>>      suggestion to rename it into tpm-tis-sysbus. This is not
>>      frozen though
>>    - Common state still is not a QOM object (no double inheritence)
>>
>> RFC v1 -> RFC v2:
>> - restructure the existing code with common, ISA and sysbus part.
>> - both ARM and x86 integration were tested.
>>
>> Eric Auger (10):
>>    tpm: rename TPM_TIS into TPM_TIS_ISA
>>    tpm: Use TPMState as a common struct
>>    tpm: Separate tpm_tis common functions from isa code
>>    tpm: Separate TPM_TIS and TPM_TIS_ISA configs
>>    tpm: Add the SysBus TPM TIS device
>>    hw/arm/virt: vTPM support
>>    docs/specs/tpm: Document TPM_TIS sysbus device for ARM
>>    test: tpm: pass optional machine options to swtpm test functions
>>    test: tpm-tis: Get prepared to share tests between ISA and sysbus
>>      devices
>>    test: tpm-tis: Add Sysbus TPM-TIS device test
>>
>>   default-configs/i386-softmmu.mak        |   2 +-
>>   docs/specs/tpm.rst                      |  25 +-
>>   hw/arm/Kconfig                          |   1 +
>>   hw/arm/sysbus-fdt.c                     |  33 ++
>>   hw/arm/virt.c                           |   7 +
>>   hw/i386/Kconfig                         |   2 +-
>>   hw/i386/acpi-build.c                    |   6 +-
>>   hw/tpm/Kconfig                          |  12 +-
>>   hw/tpm/Makefile.objs                    |   4 +-
>>   hw/tpm/tpm_tis.h                        |  91 +++++
>>   hw/tpm/{tpm_tis.c => tpm_tis_common.c}  | 181 +---------
>>   hw/tpm/tpm_tis_isa.c                    | 170 +++++++++
>>   hw/tpm/tpm_tis_sysbus.c                 | 159 +++++++++
>>   include/sysemu/tpm.h                    |   7 +-
>>   tests/qtest/Makefile.include            |  11 +-
>>   tests/qtest/tpm-crb-swtpm-test.c        |   9 +-
>>   tests/qtest/tpm-crb-test.c              |   3 +
>>   tests/qtest/tpm-tests.c                 |  10 +-
>>   tests/qtest/tpm-tests.h                 |   5 +-
>>   tests/qtest/tpm-tis-device-swtpm-test.c |  76 ++++
>>   tests/qtest/tpm-tis-device-test.c       |  87 +++++
>>   tests/qtest/tpm-tis-swtpm-test.c        |   8 +-
>>   tests/qtest/tpm-tis-test.c              | 414 +---------------------
>>   tests/qtest/tpm-tis-util.c              | 451 ++++++++++++++++++++++++
>>   tests/qtest/tpm-tis-util.h              |  23 ++
>>   tests/qtest/tpm-util.c                  |  11 +-
>>   tests/qtest/tpm-util.h                  |   8 +-
>>   27 files changed, 1207 insertions(+), 609 deletions(-)
>>   create mode 100644 hw/tpm/tpm_tis.h
>>   rename hw/tpm/{tpm_tis.c => tpm_tis_common.c} (85%)
>>   create mode 100644 hw/tpm/tpm_tis_isa.c
>>   create mode 100644 hw/tpm/tpm_tis_sysbus.c
>>   create mode 100644 tests/qtest/tpm-tis-device-swtpm-test.c
>>   create mode 100644 tests/qtest/tpm-tis-device-test.c
>>   create mode 100644 tests/qtest/tpm-tis-util.c
>>   create mode 100644 tests/qtest/tpm-tis-util.h
>>
> 
> 



  reply	other threads:[~2020-02-27  8:08 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-26 20:59 [PATCH v4 00/10] vTPM for aarch64 Eric Auger
2020-02-26 20:59 ` [PATCH v4 01/10] tpm: rename TPM_TIS into TPM_TIS_ISA Eric Auger
2020-02-26 20:59 ` [PATCH v4 02/10] tpm: Use TPMState as a common struct Eric Auger
2020-02-26 20:59 ` [PATCH v4 03/10] tpm: Separate tpm_tis common functions from isa code Eric Auger
2020-02-26 20:59 ` [PATCH v4 04/10] tpm: Separate TPM_TIS and TPM_TIS_ISA configs Eric Auger
2020-02-26 20:59 ` [PATCH v4 05/10] tpm: Add the SysBus TPM TIS device Eric Auger
2020-02-26 20:59 ` [PATCH v4 06/10] hw/arm/virt: vTPM support Eric Auger
2020-02-27  8:10   ` Auger Eric
2020-02-26 20:59 ` [PATCH v4 07/10] docs/specs/tpm: Document TPM_TIS sysbus device for ARM Eric Auger
2020-02-26 20:59 ` [PATCH v4 08/10] test: tpm: pass optional machine options to swtpm test functions Eric Auger
2020-02-26 20:59 ` [PATCH v4 09/10] test: tpm-tis: Get prepared to share tests between ISA and sysbus devices Eric Auger
2020-02-26 20:59 ` [PATCH v4 10/10] test: tpm-tis: Add Sysbus TPM-TIS device test Eric Auger
2020-02-26 22:44 ` [PATCH v4 00/10] vTPM for aarch64 Stefan Berger
2020-02-27  8:07   ` Auger Eric [this message]
2020-02-28 14:37     ` Stefan Berger
2020-02-28 14:49       ` Auger Eric
2020-02-28 17:52         ` Stefan Berger
2020-02-29 14:12           ` Auger Eric

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ee98e8ab-06df-e422-1ca5-f3f6a48145f2@redhat.com \
    --to=eric.auger@redhat.com \
    --cc=ardb@kernel.org \
    --cc=eric.auger.pro@gmail.com \
    --cc=lersek@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@redhat.com \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanb@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).