EDK2 firmware: Adopt the edk2-stable202008 release

Note from Laszlo Ersek [1] while addressing LP#1852196 [2]:
 
 Consume the following upstream edk2 releases:
 
   https://github.com/tianocore/edk2/releases/tag/edk2-stable201908
   https://github.com/tianocore/edk2/releases/tag/edk2-stable201911
   https://github.com/tianocore/edk2/releases/tag/edk2-stable202002
   https://github.com/tianocore/edk2/releases/tag/edk2-stable202005
   https://github.com/tianocore/edk2/releases/tag/edk2-stable202008
 
 Worth mentioning (in random order):
 
 - various CVE fixes (see [2] and shortlog)
 - OpenSSL-1.1.1g
 - UEFI HTTPS Boot for ARM/AARCH64
 - TPM2 for ARM/AARCH64
 - VCPU hotplug with SMI
 - support for Linux v5.7+ initrd and mixed mode loading
 - Fusion-MPT SCSI driver in OVMF
 - VMware PVSCSI driver in OVMF
 - PXEv4 / PXEv6 boot possible to disable on the QEMU command line
 - SEV-ES support
 
 The IA32 and X64 binaries are now smaller -- the reason is that Laszlo
 built them with DevToolSet 9 (gcc-9) on RHEL7, and so this is the first
 time they've undergone LTO (with the GCC5 edk2 toolchain settings).
 
 CI jobs results:
   https://gitlab.com/philmd/qemu/-/pipelines/189394120
   https://travis-ci.org/github/philmd/qemu/builds/726842542
   https://app.shippable.com/github/philmd/qemu/runs/866/summary/console
 
 [1] https://www.mail-archive.com/qemu-devel@nongnu.org/msg738173.html
 [2] https://bugs.launchpad.net/qemu/+bug/1852196
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAl9fGJkACgkQ4+MsLN6t
 wN7XrRAAhDl6Ckj6uPkU3kC+y6PjMd3gaMGND8w7LB4t1VABFQ+D1oOfnsOtPva7
 DfssLAg8OONw7osYWfpykvBK1j/U68O6K+keteT69I/xjvD0B5B2ndXbRcrykDVg
 zSfUnVdDR5h1CIiQ5lcbaT2ECw100h80DjzbrixaR6YD8QPVLS2DzdTNE4VTcHsc
 7vU1k9eLIH9zthDypZFBbZcYRQIDkbkg5+iG7jWZvQCiO4gMy9RgVsWA3WBtQBty
 GwFMIIBKFw41JsrGZhnnrzOoG0t1bBlSPhP0vZ2Ymi61TCTCtwkFq0eYU54URJFg
 9H0S4t22WUfXNSA1wTMI4Cowk4qp3UGjgVe86gfCd2Xra05V21F0wanJ1MhBNTIZ
 a5cboPRyjxIjAI/QwN5q18N+xKw4jCVCPevzs4REujjYxbq8xObJ0HkvBv8VdIod
 x3koOqLFiLMmn1wOYf4st23kPlnqICf86uahvIoWxFAp/Gy8YNf73ka8EmnyStg0
 dPj9VoZCA5E72b3DkGFton4FeNihTau/zueLpzM29XLoXuvO6SJuka+oqcwuXxpY
 KV5F27boajFHlkGL9tWLr2fYkFveTmDmP+t+KXD0bCflHGh90mAdfts1fciGyqFY
 Ws9P9n6/xRzah/l8YUpygaapQhrtmFhBo7j+YGYBdQPwbB3/pV8=
 =r8cx
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/philmd-gitlab/tags/edk2-next-20200914' into staging

EDK2 firmware: Adopt the edk2-stable202008 release

Note from Laszlo Ersek [1] while addressing LP#1852196 [2]:

Consume the following upstream edk2 releases:

  https://github.com/tianocore/edk2/releases/tag/edk2-stable201908
  https://github.com/tianocore/edk2/releases/tag/edk2-stable201911
  https://github.com/tianocore/edk2/releases/tag/edk2-stable202002
  https://github.com/tianocore/edk2/releases/tag/edk2-stable202005
  https://github.com/tianocore/edk2/releases/tag/edk2-stable202008

Worth mentioning (in random order):

- various CVE fixes (see [2] and shortlog)
- OpenSSL-1.1.1g
- UEFI HTTPS Boot for ARM/AARCH64
- TPM2 for ARM/AARCH64
- VCPU hotplug with SMI
- support for Linux v5.7+ initrd and mixed mode loading
- Fusion-MPT SCSI driver in OVMF
- VMware PVSCSI driver in OVMF
- PXEv4 / PXEv6 boot possible to disable on the QEMU command line
- SEV-ES support

The IA32 and X64 binaries are now smaller -- the reason is that Laszlo
built them with DevToolSet 9 (gcc-9) on RHEL7, and so this is the first
time they've undergone LTO (with the GCC5 edk2 toolchain settings).

CI jobs results:
  https://gitlab.com/philmd/qemu/-/pipelines/189394120
  https://travis-ci.org/github/philmd/qemu/builds/726842542
  https://app.shippable.com/github/philmd/qemu/runs/866/summary/console

[1] https://www.mail-archive.com/qemu-devel@nongnu.org/msg738173.html
[2] https://bugs.launchpad.net/qemu/+bug/1852196

# gpg: Signature made Mon 14 Sep 2020 08:15:37 BST
# gpg:                using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
# gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" [full]
# Primary key fingerprint: FAAB E75E 1291 7221 DCFD  6BB2 E3E3 2C2C DEAD C0DE

* remotes/philmd-gitlab/tags/edk2-next-20200914:
  tests: acpi: update "virt/SSDT.memhp" for edk2-stable202008
  pc-bios: update the README file with edk2-stable202008 information
  pc-bios: refresh edk2 build artifacts for edk2-stable202008
  roms/Makefile.edk2: enable new ARM/AARCH64 flags up to edk2-stable202008
  roms/Makefile.edk2: complete replacing TPM2*_ENABLE macros
  roms/edk2: update submodule from edk2-stable201905 to edk2-stable202008
  tests: acpi: tolerate "virt/SSDT.memhp" mismatch temporarily
  roms/Makefile.edk2: prepare for replacing TPM2*_ENABLE macros
  roms/efirom, tests/uefi-test-tools: update edk2's own submodules first
  Makefile: remove obsolete edk2 exception from "clean" rule

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell 2020-09-14 12:18:58 +01:00
commit a68694cd1f
13 changed files with 21 additions and 14 deletions

View File

@ -200,7 +200,6 @@ clean: recurse-clean ninja-clean clean-ctlist
find . \( -name '*.so' -o -name '*.dll' -o -name '*.[oda]' \) -type f \ find . \( -name '*.so' -o -name '*.dll' -o -name '*.[oda]' \) -type f \
! -path ./roms/edk2/ArmPkg/Library/GccLto/liblto-aarch64.a \ ! -path ./roms/edk2/ArmPkg/Library/GccLto/liblto-aarch64.a \
! -path ./roms/edk2/ArmPkg/Library/GccLto/liblto-arm.a \ ! -path ./roms/edk2/ArmPkg/Library/GccLto/liblto-arm.a \
! -path ./roms/edk2/BaseTools/Source/Python/UPT/Dll/sqlite3.dll \
-exec rm {} + -exec rm {} +
rm -f TAGS cscope.* *.pod *~ */*~ rm -f TAGS cscope.* *.pod *~ */*~
rm -f fsdev/*.pod scsi/*.pod rm -f fsdev/*.pod scsi/*.pod

View File

@ -52,8 +52,8 @@
variable store templates built from the TianoCore community's EFI Development variable store templates built from the TianoCore community's EFI Development
Kit II project Kit II project
<https://github.com/tianocore/tianocore.github.io/wiki/EDK-II>. The images <https://github.com/tianocore/tianocore.github.io/wiki/EDK-II>. The images
were built at git tag "edk2-stable201905". The firmware binaries bundle parts were built at git tag "edk2-stable202008". The firmware binaries bundle parts
of the OpenSSL project, at git tag "OpenSSL_1_1_1b" (the OpenSSL tag is a of the OpenSSL project, at git tag "OpenSSL_1_1_1g" (the OpenSSL tag is a
function of the edk2 tag). Parts of the Berkeley SoftFloat library are function of the edk2 tag). Parts of the Berkeley SoftFloat library are
bundled as well, at Release 3e plus a subsequent typo fix (commit bundled as well, at Release 3e plus a subsequent typo fix (commit
b64af41c3276f97f0e181920400ee056b9c88037), as an OpenSSL dependency on 32-bit b64af41c3276f97f0e181920400ee056b9c88037), as an OpenSSL dependency on 32-bit

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -138,6 +138,7 @@ build-efi-roms: build-pxe-roms
# efirom # efirom
# #
edk2-basetools: edk2-basetools:
cd edk2/BaseTools && git submodule update --init --force
$(MAKE) -C edk2/BaseTools \ $(MAKE) -C edk2/BaseTools \
PYTHON_COMMAND=$${EDK2_PYTHON_COMMAND:-python3} \ PYTHON_COMMAND=$${EDK2_PYTHON_COMMAND:-python3} \
EXTRA_OPTFLAGS='$(EDK2_BASETOOLS_OPTFLAGS)' \ EXTRA_OPTFLAGS='$(EDK2_BASETOOLS_OPTFLAGS)' \

View File

@ -64,7 +64,10 @@ submodules:
--arch=AARCH64 \ --arch=AARCH64 \
--platform=ArmVirtPkg/ArmVirtQemu.dsc \ --platform=ArmVirtPkg/ArmVirtQemu.dsc \
-D NETWORK_IP6_ENABLE \ -D NETWORK_IP6_ENABLE \
-D NETWORK_HTTP_BOOT_ENABLE -D NETWORK_HTTP_BOOT_ENABLE \
-D NETWORK_TLS_ENABLE \
-D TPM2_ENABLE \
-D TPM2_CONFIG_ENABLE
cp edk2/Build/ArmVirtQemu-AARCH64/DEBUG_$(call toolchain,aarch64)/FV/QEMU_EFI.fd \ cp edk2/Build/ArmVirtQemu-AARCH64/DEBUG_$(call toolchain,aarch64)/FV/QEMU_EFI.fd \
$@ $@
truncate --size=64M $@ truncate --size=64M $@
@ -75,7 +78,10 @@ submodules:
--arch=ARM \ --arch=ARM \
--platform=ArmVirtPkg/ArmVirtQemu.dsc \ --platform=ArmVirtPkg/ArmVirtQemu.dsc \
-D NETWORK_IP6_ENABLE \ -D NETWORK_IP6_ENABLE \
-D NETWORK_HTTP_BOOT_ENABLE -D NETWORK_HTTP_BOOT_ENABLE \
-D NETWORK_TLS_ENABLE \
-D TPM2_ENABLE \
-D TPM2_CONFIG_ENABLE
cp edk2/Build/ArmVirtQemu-ARM/DEBUG_$(call toolchain,arm)/FV/QEMU_EFI.fd \ cp edk2/Build/ArmVirtQemu-ARM/DEBUG_$(call toolchain,arm)/FV/QEMU_EFI.fd \
$@ $@
truncate --size=64M $@ truncate --size=64M $@
@ -88,8 +94,8 @@ submodules:
-D NETWORK_IP6_ENABLE \ -D NETWORK_IP6_ENABLE \
-D NETWORK_HTTP_BOOT_ENABLE \ -D NETWORK_HTTP_BOOT_ENABLE \
-D NETWORK_TLS_ENABLE \ -D NETWORK_TLS_ENABLE \
-D TPM2_ENABLE \ -D TPM_ENABLE \
-D TPM2_CONFIG_ENABLE -D TPM_CONFIG_ENABLE
cp edk2/Build/OvmfIa32/DEBUG_$(call toolchain,i386)/FV/OVMF_CODE.fd $@ cp edk2/Build/OvmfIa32/DEBUG_$(call toolchain,i386)/FV/OVMF_CODE.fd $@
../pc-bios/edk2-i386-secure-code.fd: submodules ../pc-bios/edk2-i386-secure-code.fd: submodules
@ -100,8 +106,8 @@ submodules:
-D NETWORK_IP6_ENABLE \ -D NETWORK_IP6_ENABLE \
-D NETWORK_HTTP_BOOT_ENABLE \ -D NETWORK_HTTP_BOOT_ENABLE \
-D NETWORK_TLS_ENABLE \ -D NETWORK_TLS_ENABLE \
-D TPM2_ENABLE \ -D TPM_ENABLE \
-D TPM2_CONFIG_ENABLE \ -D TPM_CONFIG_ENABLE \
-D SECURE_BOOT_ENABLE \ -D SECURE_BOOT_ENABLE \
-D SMM_REQUIRE -D SMM_REQUIRE
cp edk2/Build/OvmfIa32/DEBUG_$(call toolchain,i386)/FV/OVMF_CODE.fd $@ cp edk2/Build/OvmfIa32/DEBUG_$(call toolchain,i386)/FV/OVMF_CODE.fd $@
@ -114,8 +120,8 @@ submodules:
-D NETWORK_IP6_ENABLE \ -D NETWORK_IP6_ENABLE \
-D NETWORK_HTTP_BOOT_ENABLE \ -D NETWORK_HTTP_BOOT_ENABLE \
-D NETWORK_TLS_ENABLE \ -D NETWORK_TLS_ENABLE \
-D TPM2_ENABLE \ -D TPM_ENABLE \
-D TPM2_CONFIG_ENABLE -D TPM_CONFIG_ENABLE
cp edk2/Build/OvmfX64/DEBUG_$(call toolchain,x86_64)/FV/OVMF_CODE.fd $@ cp edk2/Build/OvmfX64/DEBUG_$(call toolchain,x86_64)/FV/OVMF_CODE.fd $@
../pc-bios/edk2-x86_64-secure-code.fd: submodules ../pc-bios/edk2-x86_64-secure-code.fd: submodules
@ -127,8 +133,8 @@ submodules:
-D NETWORK_IP6_ENABLE \ -D NETWORK_IP6_ENABLE \
-D NETWORK_HTTP_BOOT_ENABLE \ -D NETWORK_HTTP_BOOT_ENABLE \
-D NETWORK_TLS_ENABLE \ -D NETWORK_TLS_ENABLE \
-D TPM2_ENABLE \ -D TPM_ENABLE \
-D TPM2_CONFIG_ENABLE \ -D TPM_CONFIG_ENABLE \
-D SECURE_BOOT_ENABLE \ -D SECURE_BOOT_ENABLE \
-D SMM_REQUIRE -D SMM_REQUIRE
cp edk2/Build/Ovmf3264/DEBUG_$(call toolchain,x86_64)/FV/OVMF_CODE.fd $@ cp edk2/Build/Ovmf3264/DEBUG_$(call toolchain,x86_64)/FV/OVMF_CODE.fd $@

@ -1 +1 @@
Subproject commit 20d2e5a125e34fc8501026613a71549b2a1a3e54 Subproject commit 06dc822d045c2bb42e497487935485302486e151

Binary file not shown.

View File

@ -99,6 +99,7 @@ Build/bios-tables-test.%.efi: build-edk2-tools
+./build.sh $(edk2_dir) BiosTablesTest $* $@ +./build.sh $(edk2_dir) BiosTablesTest $* $@
build-edk2-tools: build-edk2-tools:
cd $(edk2_dir)/BaseTools && git submodule update --init --force
$(MAKE) -C $(edk2_dir)/BaseTools \ $(MAKE) -C $(edk2_dir)/BaseTools \
PYTHON_COMMAND=$${EDK2_PYTHON_COMMAND:-python3} \ PYTHON_COMMAND=$${EDK2_PYTHON_COMMAND:-python3} \
EXTRA_OPTFLAGS='$(EDK2_BASETOOLS_OPTFLAGS)' \ EXTRA_OPTFLAGS='$(EDK2_BASETOOLS_OPTFLAGS)' \