public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Ard Biesheuvel" <ard.biesheuvel@linaro.org>
To: devel@edk2.groups.io
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	lersek@redhat.com, eric.auger@redhat.com, philmd@redhat.com,
	marcandre.lureau@redhat.com, stefanb@linux.ibm.com,
	leif@nuviainc.com
Subject: [PATCH v3 0/9] ArmVirtPkg: implement measured boot for ArmVirtQemu
Date: Wed, 26 Feb 2020 20:05:05 +0100	[thread overview]
Message-ID: <20200226190514.31395-1-ard.biesheuvel@linaro.org> (raw)

Wire up the various existing pieces so that we can implement measured
boot on ArmVirtQemu based on the TPM support in QEMU, just like it has
been implemented for x86 in OvmfPkg.

The main difference is that on ARM, we first need to discover the TPM base
address from the device tree provided by QEMU, as well as the PSCI method
used to perform a cold reset.

Changes since v2:
- add Laszlo's ack to patches #2 and #4
- add PcdTpm2SupportEnabled PCD declarations to all individual platforms in
  ArmVirtPkg, even though only ArmVirtQemu really needs it
- split patch #5 into several patches

Changes since v1:
- use a separate ResetSystemLib instance based on on-demand parsing of the
  DT, and expose it via the ResetSystem PPI to other client PEIMs
- add Laszlo's ack to #1
- incorporate Laszlo's review feedback across the board

Code can also be found at:
https://github.com/ardbiesheuvel/edk2/tree/armvirt-tpm

Cc: lersek@redhat.com
Cc: eric.auger@redhat.com
Cc: philmd@redhat.com
Cc: marcandre.lureau@redhat.com
Cc: stefanb@linux.ibm.com
Cc: leif@nuviainc.com

Ard Biesheuvel (9):
  OvmfPkg/Tcg2ConfigPei: introduce a signalling PPI to depex on
  ArmVirtPkg/PlatformPeiLib: make PcdLib dependency explicit in .INF
  ArmVirtPkg/PlatformPeiLib: discover the TPM base address from the DT
  ArmVirtPkg: implement ArmVirtPsciResetSystemPeiLib
  ArmVirtPkg/ArmVirtQemu: add ResetSystem PEIM for upcoming TPM2 support
  ArmVirtPkg/ArmVirtQemu: enable TPM2 support in the PEI phase
  ArmVirtPkg/ArmVirtQemu: enable the DXE phase TPM2 support module
  ArmVirtPkg/ArmVirtQemu: enable the TPM2 configuration module
  ArmVirtPkg/ArmVirtQemu: enable TPM2 based measured boot

 ArmVirtPkg/ArmVirtPkg.dec                     |   6 +
 ArmVirtPkg/ArmVirtQemu.dsc                    |  74 ++++++
 ArmVirtPkg/ArmVirtQemu.fdf                    |   6 +
 ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc          |  10 +
 ArmVirtPkg/ArmVirtQemuKernel.dsc              |   6 +
 ArmVirtPkg/ArmVirtXen.dsc                     |   6 +
 .../ArmVirtPsciResetSystemPeiLib.c            | 232 ++++++++++++++++++
 .../ArmVirtPsciResetSystemPeiLib.inf          |  39 +++
 .../Library/PlatformPeiLib/PlatformPeiLib.c   | 101 +++++++-
 .../Library/PlatformPeiLib/PlatformPeiLib.inf |  20 +-
 OvmfPkg/OvmfPkg.dec                           |   5 +
 OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf      |   6 +-
 12 files changed, 496 insertions(+), 15 deletions(-)
 create mode 100644 ArmVirtPkg/Library/ArmVirtPsciResetSystemPeiLib/ArmVirtPsciResetSystemPeiLib.c
 create mode 100644 ArmVirtPkg/Library/ArmVirtPsciResetSystemPeiLib/ArmVirtPsciResetSystemPeiLib.inf

-- 
2.17.1


             reply	other threads:[~2020-02-26 19:05 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-26 19:05 Ard Biesheuvel [this message]
2020-02-26 19:05 ` [PATCH v3 1/9] OvmfPkg/Tcg2ConfigPei: introduce a signalling PPI to depex on Ard Biesheuvel
2020-02-26 19:05 ` [PATCH v3 2/9] ArmVirtPkg/PlatformPeiLib: make PcdLib dependency explicit in .INF Ard Biesheuvel
2020-02-26 19:05 ` [PATCH v3 3/9] ArmVirtPkg/PlatformPeiLib: discover the TPM base address from the DT Ard Biesheuvel
2020-02-27  7:41   ` [edk2-devel] " Laszlo Ersek
2020-02-26 19:05 ` [PATCH v3 4/9] ArmVirtPkg: implement ArmVirtPsciResetSystemPeiLib Ard Biesheuvel
2020-02-26 19:05 ` [PATCH v3 5/9] ArmVirtPkg/ArmVirtQemu: add ResetSystem PEIM for upcoming TPM2 support Ard Biesheuvel
2020-02-27  8:06   ` [edk2-devel] " Laszlo Ersek
2020-02-26 19:05 ` [PATCH v3 6/9] ArmVirtPkg/ArmVirtQemu: enable TPM2 support in the PEI phase Ard Biesheuvel
2020-02-27  8:24   ` [edk2-devel] " Laszlo Ersek
2020-02-27  8:34     ` Ard Biesheuvel
2020-02-26 19:05 ` [PATCH v3 7/9] ArmVirtPkg/ArmVirtQemu: enable the DXE phase TPM2 support module Ard Biesheuvel
2020-02-27  9:28   ` [edk2-devel] " Laszlo Ersek
2020-02-26 19:05 ` [PATCH v3 8/9] ArmVirtPkg/ArmVirtQemu: enable the TPM2 configuration module Ard Biesheuvel
2020-02-27  9:39   ` Laszlo Ersek
2020-02-26 19:05 ` [PATCH v3 9/9] ArmVirtPkg/ArmVirtQemu: enable TPM2 based measured boot Ard Biesheuvel
2020-02-27  9:42   ` Laszlo Ersek
2020-03-04  8:51 ` [PATCH v3 0/9] ArmVirtPkg: implement measured boot for ArmVirtQemu Ard Biesheuvel

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-list 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=20200226190514.31395-1-ard.biesheuvel@linaro.org \
    --to=devel@edk2.groups.io \
    /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