[PATCH v2 0/1] add selftest for EFI_TCG2_PROTOCOL and Measured Boot

Heinrich Schuchardt xypron.glpk at gmx.de
Sun Nov 7 09:30:18 CET 2021


On 11/4/21 11:45, Masahisa Kojima wrote:
> This patch adds the selftest for the EFI_TCG2_PROTOCOL and
> Measured Boot flow.
> This selftest is verified on qemu with swtpm on both 32-bit arm
> and arm64.
>
> This commit adds the pre-build binary for the PE/COFF image

It seems that you have been compiling
lib/efi_selftest/efi_selftest_miniapp_exit.c
and using tools/file2include.c for converting to an include.

The information in this header mail should be in the patch itself.

Best regards

Heinrich

> measurement test for each architecture. I have tested only
> on 32-bit arm and arm64.
> For ia32, x86_64, riscv32 and riscv64, actual selftest behavior
> is not yet tested, but the expected PCR values are calculated
> on arm64 environment.
>
> This commit covers most of the functionalities, but there are some
> limitations and TODO items.
>
> [Limitation]
> - Verified actual selftest behavior only on arm and arm64.
> - Tcg2 selftest must run at the beginning of the efi_selftest because
>    some measurement occurs in efi_tcg2_register() and boottime->image_load().
>    Need to configure the efi_selftest with "setenv efi_selftest tcg2; bootefi selftest"
> - Skip ExitBootService measurement test
>     - EFI application can not read PCR after calling ExitBootService
> - Skip EventLog Validation
>     - Measured Boot measures U-Boot version, so EventLog varies every build having
>       different commit hash.
> - Skip PCR[0] validation
>     - PCR[0] include U-Boot version measurement, this value varies every build
>       having different commit hash.
> - Skip PCR[7] validation
>     - Secure Boot Variables can not be updated through efi_selftest.
> - The initial PCR value of PCR[17 - 22] is all 0xff. I'm not sure
>    it is expected or not, but at least Secure96 and swtpm has the same initial value.
>
> [TODO]
> - GPT measurement test
> - Secure Boot Variable test
> - Eventlog validation
>
> Masahisa Kojima (1):
>    efi_selftest: add selftest for EFI_TCG2_PROTOCOL and Measured Boot
>
>   lib/efi_selftest/efi_miniapp_tcg2_arm.h     | 152 ++++
>   lib/efi_selftest/efi_miniapp_tcg2_arm64.h   | 207 +++++
>   lib/efi_selftest/efi_miniapp_tcg2_ia32.h    | 177 ++++
>   lib/efi_selftest/efi_miniapp_tcg2_riscv32.h | 173 ++++
>   lib/efi_selftest/efi_miniapp_tcg2_riscv64.h | 189 ++++
>   lib/efi_selftest/efi_miniapp_tcg2_x86_64.h  | 178 ++++
>   lib/efi_selftest/efi_selftest_tcg2.c        | 941 +++++++++++++++++++-
>   7 files changed, 2016 insertions(+), 1 deletion(-)
>   create mode 100644 lib/efi_selftest/efi_miniapp_tcg2_arm.h
>   create mode 100644 lib/efi_selftest/efi_miniapp_tcg2_arm64.h
>   create mode 100644 lib/efi_selftest/efi_miniapp_tcg2_ia32.h
>   create mode 100644 lib/efi_selftest/efi_miniapp_tcg2_riscv32.h
>   create mode 100644 lib/efi_selftest/efi_miniapp_tcg2_riscv64.h
>   create mode 100644 lib/efi_selftest/efi_miniapp_tcg2_x86_64.h
>


More information about the U-Boot mailing list