Message ID | 20190313210057.32584-1-lersek@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | bundle edk2 platform firmware with QEMU | expand |
On Wed, 13 Mar 2019 22:00:45 +0100 Laszlo Ersek <lersek@redhat.com> wrote: > Repo: https://github.com/lersek/qemu.git > Branch: edk2_build_v2 > > Version 1, that is: > [Qemu-devel] [PATCH 00/10] bundle edk2 platform firmware with QEMU > > was posted at: > https://lists.gnu.org/archive/html/qemu-devel/2019-03/msg02846.html > http://mid.mail-archive.com/20190309004826.9027-1-lersek@redhat.com > > Updates in v2 are noted on each patch individually, in the Notes > section. > Tested-by: Igor Mammedov <imammedo@redhat.com> > I'm pasting a cumulative diffstat, and diff, between v1 and v2 below. > Note that a normal diffstat for this v2 series is at the bottom of the > cover letter, as usual. > > > .gitignore | 1 + > > MAINTAINERS | 12 ++++++++ > > Makefile | 22 +++++++++++--- > > configure | 1 + > > pc-bios/README | 2 +- > > pc-bios/edk2-aarch64-code.fd | Bin 67108864 -> 0 bytes > > pc-bios/edk2-aarch64-code.fd.xz | Bin 0 -> 1146804 bytes > > pc-bios/edk2-arm-code.fd | Bin 67108864 -> 0 bytes > > pc-bios/edk2-arm-code.fd.xz | Bin 0 -> 1147852 bytes > > pc-bios/edk2-arm-vars.fd | Bin 67108864 -> 0 bytes > > pc-bios/edk2-arm-vars.fd.xz | Bin 0 -> 10008 bytes > > pc-bios/edk2-i386-code.fd | Bin 3653632 -> 0 bytes > > pc-bios/edk2-i386-code.fd.xz | Bin 0 -> 1674764 bytes > > pc-bios/edk2-i386-secure-code.fd | Bin 3653632 -> 0 bytes > > pc-bios/edk2-i386-secure-code.fd.xz | Bin 0 -> 1870024 bytes > > pc-bios/edk2-i386-vars.fd | Bin 540672 -> 0 bytes > > pc-bios/edk2-i386-vars.fd.xz | Bin 0 -> 320 bytes > > pc-bios/edk2-x86_64-code.fd | Bin 3653632 -> 0 bytes > > pc-bios/edk2-x86_64-code.fd.xz | Bin 0 -> 1655276 bytes > > pc-bios/edk2-x86_64-secure-code.fd | Bin 3653632 -> 0 bytes > > pc-bios/edk2-x86_64-secure-code.fd.xz | Bin 0 -> 1889024 bytes > > roms/Makefile.edk2 | 32 +++++++++++++------- > > roms/edk2-build.sh | 2 +- > > roms/edk2-funcs.sh | 4 +-- > > tests/Makefile.include | 2 +- > > 25 files changed, 57 insertions(+), 21 deletions(-) > > > diff --git a/configure b/configure > > index cab830a4c920..a8e5c14899d6 100755 > > --- a/configure > > +++ b/configure > > @@ -7770,6 +7770,7 @@ for bios_file in \ > > $source_path/pc-bios/*.img \ > > $source_path/pc-bios/openbios-* \ > > $source_path/pc-bios/u-boot.* \ > > + $source_path/pc-bios/edk2-*.fd.xz \ > > $source_path/pc-bios/palcode-* > > do > > LINKS="$LINKS pc-bios/$(basename $bios_file)" > > diff --git a/Makefile b/Makefile > > index b98567ee0f83..4b325052005e 100644 > > --- a/Makefile > > +++ b/Makefile > > @@ -296,6 +296,10 @@ ui/input-keymap-%.c: $(KEYCODEMAP_GEN) $(KEYCODEMAP_CSV) $(SRC_PATH)/ui/Makefile > > $(KEYCODEMAP_GEN): .git-submodule-status > > $(KEYCODEMAP_CSV): .git-submodule-status > > > > +edk2-decompressed = $(basename $(wildcard pc-bios/edk2-*.fd.xz)) > > +pc-bios/edk2-%.fd: pc-bios/edk2-%.fd.xz > > + $(call quiet-command,xz -d -c $< > $@,"UNXZ",$<) > > + > > # Don't try to regenerate Makefile or configure > > # We don't generate any of them > > Makefile: ; > > @@ -444,6 +448,7 @@ $(SOFTMMU_SUBDIR_RULES): $(block-obj-y) > > $(SOFTMMU_SUBDIR_RULES): $(crypto-obj-y) > > $(SOFTMMU_SUBDIR_RULES): $(io-obj-y) > > $(SOFTMMU_SUBDIR_RULES): config-all-devices.mak > > +$(SOFTMMU_SUBDIR_RULES): $(edk2-decompressed) > > > > subdir-%: > > $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C $* V="$(V)" TARGET_DIR="$*/" all,) > > @@ -632,6 +637,7 @@ clean: > > ! -path ./roms/edk2/ArmPkg/Library/GccLto/liblto-arm.a \ > > ! -path ./roms/edk2/BaseTools/Source/Python/UPT/Dll/sqlite3.dll \ > > -exec rm {} + > > + rm -f $(edk2-decompressed) > > rm -f $(filter-out %.tlb,$(TOOLS)) $(HELPERS-y) qemu-ga TAGS cscope.* *.pod *~ */*~ > > rm -f fsdev/*.pod scsi/*.pod > > rm -f qemu-img-cmds.h > > @@ -722,10 +728,8 @@ spapr-rtas.bin slof.bin skiboot.lid \ > > palcode-clipper \ > > u-boot.e500 u-boot-sam460-20100605.bin \ > > qemu_vga.ndrv \ > > -hppa-firmware.img \ > > -edk2-aarch64-code.fd edk2-arm-code.fd edk2-i386-code.fd \ > > -edk2-i386-secure-code.fd edk2-x86_64-code.fd edk2-x86_64-secure-code.fd \ > > -edk2-arm-vars.fd edk2-i386-vars.fd edk2-licenses.txt > > +edk2-licenses.txt \ > > +hppa-firmware.img > > > > DESCS=50-edk2-i386-secure.json 50-edk2-x86_64-secure.json \ > > 60-edk2-aarch64.json 60-edk2-arm.json 60-edk2-i386.json 60-edk2-x86_64.json > > @@ -792,7 +796,8 @@ endif > > > > ICON_SIZES=16x16 24x24 32x32 48x48 64x64 128x128 256x256 512x512 > > > > -install: all $(if $(BUILD_DOCS),install-doc) install-datadir install-localstatedir > > +install: all $(if $(BUILD_DOCS),install-doc) install-datadir install-localstatedir \ > > + $(if $(INSTALL_BLOBS),$(edk2-decompressed)) > > ifneq ($(TOOLS),) > > $(call install-prog,$(subst qemu-ga,qemu-ga$(EXESUF),$(TOOLS)),$(DESTDIR)$(bindir)) > > endif > > @@ -814,6 +819,13 @@ ifneq ($(BLOBS),) > > set -e; for x in $(BLOBS); do \ > > $(INSTALL_DATA) $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(qemu_datadir)"; \ > > done > > +endif > > +ifdef INSTALL_BLOBS > > + set -e; for x in $(edk2-decompressed); do \ > > + $(INSTALL_DATA) $$x "$(DESTDIR)$(qemu_datadir)"; \ > > + done > > +endif > > +ifneq ($(DESCS),) > > $(INSTALL_DIR) "$(DESTDIR)$(qemu_datadir)/firmware" > > set -e; tmpf=$$(mktemp); trap 'rm -f -- "$$tmpf"' EXIT; \ > > for x in $(DESCS); do \ > > diff --git a/roms/Makefile.edk2 b/roms/Makefile.edk2 > > index ad6fff044cd6..e5c3036949c8 100644 > > --- a/roms/Makefile.edk2 > > +++ b/roms/Makefile.edk2 > > @@ -1,7 +1,7 @@ > > # Makefile for building firmware binaries and variable store templates for a > > # number of virtual platforms in edk2. > > # > > -# Copyright (C) 2019, Red Hat, Inc. > > +# Copyright (C) 2019 Red Hat, Inc. > > # > > # This program and the accompanying materials are licensed and made available > > # under the terms and conditions of the BSD License that accompanies this > > @@ -11,6 +11,8 @@ > > # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT > > # WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. > > > > +SHELL = /bin/bash > > + > > toolchain = $(shell source ./edk2-funcs.sh && qemu_edk2_get_toolchain $(1)) > > > > licenses := \ > > @@ -21,19 +23,27 @@ licenses := \ > > # The "edk2-arm-vars.fd" varstore template is suitable for aarch64 as well. > > # Similarly, the "edk2-i386-vars.fd" varstore template is suitable for x86_64 > > # as well, independently of "secure" too. > > -all: \ > > - ../pc-bios/edk2-aarch64-code.fd \ > > - ../pc-bios/edk2-arm-code.fd \ > > - ../pc-bios/edk2-i386-code.fd \ > > - ../pc-bios/edk2-i386-secure-code.fd \ > > - ../pc-bios/edk2-x86_64-code.fd \ > > - ../pc-bios/edk2-x86_64-secure-code.fd \ > > - \ > > - ../pc-bios/edk2-arm-vars.fd \ > > - ../pc-bios/edk2-i386-vars.fd \ > > +flashdevs := \ > > + aarch64-code \ > > + arm-code \ > > + i386-code \ > > + i386-secure-code \ > > + x86_64-code \ > > + x86_64-secure-code \ > > \ > > + arm-vars \ > > + i386-vars > > + > > +all: $(foreach flashdev,$(flashdevs),../pc-bios/edk2-$(flashdev).fd.xz) \ > > ../pc-bios/edk2-licenses.txt > > > > +../pc-bios/edk2-%.fd.xz: ../pc-bios/edk2-%.fd > > + xz -9 -e -c $< > $@ > > + > > +# When the build completes, we need not keep the uncompressed flash device > > +# files. > > +.INTERMEDIATE: $(foreach flashdev,$(flashdevs),../pc-bios/edk2-$(flashdev).fd) > > + > > submodules: > > cd edk2 && git submodule update --init --force > > > > diff --git a/tests/Makefile.include b/tests/Makefile.include > > index a5719551dd1b..6c116addafe4 100644 > > --- a/tests/Makefile.include > > +++ b/tests/Makefile.include > > @@ -915,7 +915,7 @@ check-speed: $(check-speed-y) > > > > # gtester tests with TAP output > > > > -$(patsubst %, check-report-qtest-%.tap, $(QTEST_TARGETS)): check-report-qtest-%.tap: $(check-qtest-y) > > +$(patsubst %, check-report-qtest-%.tap, $(QTEST_TARGETS)): check-report-qtest-%.tap: subdir-%-softmmu $(check-qtest-y) > > $(call do_test_tap, $(check-qtest-$*-y) $(check-qtest-generic-y), \ > > QTEST_QEMU_BINARY=$*-softmmu/qemu-system-$* \ > > QTEST_QEMU_IMG=qemu-img$(EXESUF)) > > diff --git a/.gitignore b/.gitignore > > index 77522561b8ea..889896c023fd 100644 > > --- a/.gitignore > > +++ b/.gitignore > > @@ -96,6 +96,7 @@ > > *.gcno > > *.gcov > > /pc-bios/bios-pq/status > > +/pc-bios/edk2-*.fd > > /pc-bios/vgabios-pq/status > > /pc-bios/optionrom/linuxboot.asm > > /pc-bios/optionrom/linuxboot.bin > > diff --git a/MAINTAINERS b/MAINTAINERS > > index d3267560799b..eefa225a234a 100644 > > --- a/MAINTAINERS > > +++ b/MAINTAINERS > > @@ -2207,6 +2207,18 @@ F: include/hw/i2c/smbus_master.h > > F: include/hw/i2c/smbus_slave.h > > F: include/hw/i2c/smbus_eeprom.h > > > > +EDK2 Firmware > > +M: Laszlo Ersek <lersek@redhat.com> > > +M: Philippe Mathieu-Daudé <philmd@redhat.com> > > +S: Supported > > +F: pc-bios/descriptors/??-edk2-*.json > > +F: pc-bios/edk2-* > > +F: roms/Makefile.edk2 > > +F: roms/edk2 > > +F: roms/edk2-* > > +F: tests/data/uefi-boot-images/ > > +F: tests/uefi-test-tools/ > > + > > Usermode Emulation > > ------------------ > > Overall > > diff --git a/pc-bios/README b/pc-bios/README > > index 4b87e1e975c9..f6acd3209610 100644 > > --- a/pc-bios/README > > +++ b/pc-bios/README > > @@ -51,7 +51,7 @@ > > - QemuMacDrivers (https://github.com/ozbenh/QemuMacDrivers) is a project to > > provide virtualised drivers for PPC MacOS guests. > > > > -- The "edk2-*.fd" images are platform firmware binaries and matching UEFI > > +- The "edk2-*.fd.xz" images are platform firmware binaries and matching UEFI > > variable store templates built from the TianoCore community's EFI Development > > Kit II project > > <https://github.com/tianocore/tianocore.github.io/wiki/EDK-II>. The images > > diff --git a/pc-bios/edk2-aarch64-code.fd b/pc-bios/edk2-aarch64-code.fd > > deleted file mode 100644 > > index c6ef5113e8cd..000000000000 > > Binary files a/pc-bios/edk2-aarch64-code.fd and /dev/null differ > > diff --git a/pc-bios/edk2-aarch64-code.fd.xz b/pc-bios/edk2-aarch64-code.fd.xz > > new file mode 100644 > > index 000000000000..8ca34c56b51b > > Binary files /dev/null and b/pc-bios/edk2-aarch64-code.fd.xz differ > > diff --git a/pc-bios/edk2-arm-code.fd b/pc-bios/edk2-arm-code.fd > > deleted file mode 100644 > > index 2ebd846818d1..000000000000 > > Binary files a/pc-bios/edk2-arm-code.fd and /dev/null differ > > diff --git a/pc-bios/edk2-arm-code.fd.xz b/pc-bios/edk2-arm-code.fd.xz > > new file mode 100644 > > index 000000000000..db2c20b71e29 > > Binary files /dev/null and b/pc-bios/edk2-arm-code.fd.xz differ > > diff --git a/pc-bios/edk2-arm-vars.fd b/pc-bios/edk2-arm-vars.fd > > deleted file mode 100644 > > index a71658f98825..000000000000 > > Binary files a/pc-bios/edk2-arm-vars.fd and /dev/null differ > > diff --git a/pc-bios/edk2-arm-vars.fd.xz b/pc-bios/edk2-arm-vars.fd.xz > > new file mode 100644 > > index 000000000000..8c3a4b5c8bdc > > Binary files /dev/null and b/pc-bios/edk2-arm-vars.fd.xz differ > > diff --git a/pc-bios/edk2-i386-code.fd b/pc-bios/edk2-i386-code.fd > > deleted file mode 100644 > > index df3d24182209..000000000000 > > Binary files a/pc-bios/edk2-i386-code.fd and /dev/null differ > > diff --git a/pc-bios/edk2-i386-code.fd.xz b/pc-bios/edk2-i386-code.fd.xz > > new file mode 100644 > > index 000000000000..f25dbec37e72 > > Binary files /dev/null and b/pc-bios/edk2-i386-code.fd.xz differ > > diff --git a/pc-bios/edk2-i386-secure-code.fd b/pc-bios/edk2-i386-secure-code.fd > > deleted file mode 100644 > > index 9f203cdd0d88..000000000000 > > Binary files a/pc-bios/edk2-i386-secure-code.fd and /dev/null differ > > diff --git a/pc-bios/edk2-i386-secure-code.fd.xz b/pc-bios/edk2-i386-secure-code.fd.xz > > new file mode 100644 > > index 000000000000..11d499b90d85 > > Binary files /dev/null and b/pc-bios/edk2-i386-secure-code.fd.xz differ > > diff --git a/pc-bios/edk2-i386-vars.fd b/pc-bios/edk2-i386-vars.fd > > deleted file mode 100644 > > index efb4f46c09af..000000000000 > > Binary files a/pc-bios/edk2-i386-vars.fd and /dev/null differ > > diff --git a/pc-bios/edk2-i386-vars.fd.xz b/pc-bios/edk2-i386-vars.fd.xz > > new file mode 100644 > > index 000000000000..1656532daa6e > > Binary files /dev/null and b/pc-bios/edk2-i386-vars.fd.xz differ > > diff --git a/pc-bios/edk2-x86_64-code.fd b/pc-bios/edk2-x86_64-code.fd > > deleted file mode 100644 > > index bf2dd8c4373d..000000000000 > > Binary files a/pc-bios/edk2-x86_64-code.fd and /dev/null differ > > diff --git a/pc-bios/edk2-x86_64-code.fd.xz b/pc-bios/edk2-x86_64-code.fd.xz > > new file mode 100644 > > index 000000000000..92398935a482 > > Binary files /dev/null and b/pc-bios/edk2-x86_64-code.fd.xz differ > > diff --git a/pc-bios/edk2-x86_64-secure-code.fd b/pc-bios/edk2-x86_64-secure-code.fd > > deleted file mode 100644 > > index d1a28834ce60..000000000000 > > Binary files a/pc-bios/edk2-x86_64-secure-code.fd and /dev/null differ > > diff --git a/pc-bios/edk2-x86_64-secure-code.fd.xz b/pc-bios/edk2-x86_64-secure-code.fd.xz > > new file mode 100644 > > index 000000000000..a95891dcf134 > > Binary files /dev/null and b/pc-bios/edk2-x86_64-secure-code.fd.xz differ > > diff --git a/roms/edk2-build.sh b/roms/edk2-build.sh > > index 936d2c874a22..4f46f8a6a217 100755 > > --- a/roms/edk2-build.sh > > +++ b/roms/edk2-build.sh > > @@ -2,7 +2,7 @@ > > > > # Wrapper shell script for building a virtual platform firmware in edk2. > > # > > -# Copyright (C) 2019, Red Hat, Inc. > > +# Copyright (C) 2019 Red Hat, Inc. > > # > > # This program and the accompanying materials are licensed and made available > > # under the terms and conditions of the BSD License that accompanies this > > diff --git a/roms/edk2-funcs.sh b/roms/edk2-funcs.sh > > index 7fc62f074c59..a9fae7ee891b 100644 > > --- a/roms/edk2-funcs.sh > > +++ b/roms/edk2-funcs.sh > > @@ -1,9 +1,9 @@ > > # Shell script that defines functions for determining some environmental > > # characteristics for the edk2 "build" utility. > > # > > -# This script is meant to be sourced. > > +# This script is meant to be sourced, in a bash environment. > > # > > -# Copyright (C) 2019, Red Hat, Inc. > > +# Copyright (C) 2019 Red Hat, Inc. > > # > > # This program and the accompanying materials are licensed and made available > > # under the terms and conditions of the BSD License that accompanies this > > Thanks, > Laszlo > > Laszlo Ersek (12): > roms: lift "edk2-funcs.sh" from "tests/uefi-test-tools/build.sh" > roms/edk2-funcs.sh: require gcc-4.8+ for building i386 and x86_64 > tests/uefi-test-tools/build.sh: work around TianoCore#1607 > roms/edk2: advance to tag edk2-stable201903 > roms/edk2-funcs.sh: add the qemu_edk2_get_thread_count() function > roms/Makefile: replace the $(EFIROM) target with "edk2-basetools" > roms: build edk2 firmware binaries and variable store templates > pc-bios: add edk2 firmware binaries and variable store templates > pc-bios: document the edk2 firmware images; add firmware descriptors > tests: add missing dependency to build QTEST_QEMU_BINARY, round 2 > Makefile: install the edk2 firmware images and their descriptors > MAINTAINERS: add the "EDK2 Firmware" subsystem > > .gitignore | 1 + > MAINTAINERS | 12 + > Makefile | 29 ++- > configure | 1 + > pc-bios/README | 11 + > pc-bios/descriptors/50-edk2-i386-secure.json | 34 +++ > pc-bios/descriptors/50-edk2-x86_64-secure.json | 35 +++ > pc-bios/descriptors/60-edk2-aarch64.json | 31 +++ > pc-bios/descriptors/60-edk2-arm.json | 31 +++ > pc-bios/descriptors/60-edk2-i386.json | 33 +++ > pc-bios/descriptors/60-edk2-x86_64.json | 34 +++ > pc-bios/edk2-aarch64-code.fd.xz | Bin 0 -> 1146804 bytes > pc-bios/edk2-arm-code.fd.xz | Bin 0 -> 1147852 bytes > pc-bios/edk2-arm-vars.fd.xz | Bin 0 -> 10008 bytes > pc-bios/edk2-i386-code.fd.xz | Bin 0 -> 1674764 bytes > pc-bios/edk2-i386-secure-code.fd.xz | Bin 0 -> 1870024 bytes > pc-bios/edk2-i386-vars.fd.xz | Bin 0 -> 320 bytes > pc-bios/edk2-licenses.txt | 209 ++++++++++++++++ > pc-bios/edk2-x86_64-code.fd.xz | Bin 0 -> 1655276 bytes > pc-bios/edk2-x86_64-secure-code.fd.xz | Bin 0 -> 1889024 bytes > roms/Makefile | 9 +- > roms/Makefile.edk2 | 148 ++++++++++++ > roms/edk2 | 2 +- > roms/edk2-build.sh | 55 +++++ > roms/edk2-funcs.sh | 253 ++++++++++++++++++++ > tests/Makefile.include | 2 +- > tests/uefi-test-tools/build.sh | 100 +------- > 27 files changed, 934 insertions(+), 96 deletions(-) > create mode 100644 pc-bios/descriptors/50-edk2-i386-secure.json > create mode 100644 pc-bios/descriptors/50-edk2-x86_64-secure.json > create mode 100644 pc-bios/descriptors/60-edk2-aarch64.json > create mode 100644 pc-bios/descriptors/60-edk2-arm.json > create mode 100644 pc-bios/descriptors/60-edk2-i386.json > create mode 100644 pc-bios/descriptors/60-edk2-x86_64.json > create mode 100644 pc-bios/edk2-aarch64-code.fd.xz > create mode 100644 pc-bios/edk2-arm-code.fd.xz > create mode 100644 pc-bios/edk2-arm-vars.fd.xz > create mode 100644 pc-bios/edk2-i386-code.fd.xz > create mode 100644 pc-bios/edk2-i386-secure-code.fd.xz > create mode 100644 pc-bios/edk2-i386-vars.fd.xz > create mode 100644 pc-bios/edk2-licenses.txt > create mode 100644 pc-bios/edk2-x86_64-code.fd.xz > create mode 100644 pc-bios/edk2-x86_64-secure-code.fd.xz > create mode 100644 roms/Makefile.edk2 > create mode 100755 roms/edk2-build.sh > create mode 100644 roms/edk2-funcs.sh >
On Wed, Mar 13, 2019 at 10:00:45PM +0100, Laszlo Ersek wrote: > Repo: https://github.com/lersek/qemu.git > Branch: edk2_build_v2 > > Version 1, that is: > [Qemu-devel] [PATCH 00/10] bundle edk2 platform firmware with QEMU > > was posted at: > https://lists.gnu.org/archive/html/qemu-devel/2019-03/msg02846.html > http://mid.mail-archive.com/20190309004826.9027-1-lersek@redhat.com > > Updates in v2 are noted on each patch individually, in the Notes > section. > > I'm pasting a cumulative diffstat, and diff, between v1 and v2 below. > Note that a normal diffstat for this v2 series is at the bottom of the > cover letter, as usual. Reviewed-by: Michael S. Tsirkin <mst@redhat.com> > > .gitignore | 1 + > > MAINTAINERS | 12 ++++++++ > > Makefile | 22 +++++++++++--- > > configure | 1 + > > pc-bios/README | 2 +- > > pc-bios/edk2-aarch64-code.fd | Bin 67108864 -> 0 bytes > > pc-bios/edk2-aarch64-code.fd.xz | Bin 0 -> 1146804 bytes > > pc-bios/edk2-arm-code.fd | Bin 67108864 -> 0 bytes > > pc-bios/edk2-arm-code.fd.xz | Bin 0 -> 1147852 bytes > > pc-bios/edk2-arm-vars.fd | Bin 67108864 -> 0 bytes > > pc-bios/edk2-arm-vars.fd.xz | Bin 0 -> 10008 bytes > > pc-bios/edk2-i386-code.fd | Bin 3653632 -> 0 bytes > > pc-bios/edk2-i386-code.fd.xz | Bin 0 -> 1674764 bytes > > pc-bios/edk2-i386-secure-code.fd | Bin 3653632 -> 0 bytes > > pc-bios/edk2-i386-secure-code.fd.xz | Bin 0 -> 1870024 bytes > > pc-bios/edk2-i386-vars.fd | Bin 540672 -> 0 bytes > > pc-bios/edk2-i386-vars.fd.xz | Bin 0 -> 320 bytes > > pc-bios/edk2-x86_64-code.fd | Bin 3653632 -> 0 bytes > > pc-bios/edk2-x86_64-code.fd.xz | Bin 0 -> 1655276 bytes > > pc-bios/edk2-x86_64-secure-code.fd | Bin 3653632 -> 0 bytes > > pc-bios/edk2-x86_64-secure-code.fd.xz | Bin 0 -> 1889024 bytes > > roms/Makefile.edk2 | 32 +++++++++++++------- > > roms/edk2-build.sh | 2 +- > > roms/edk2-funcs.sh | 4 +-- > > tests/Makefile.include | 2 +- > > 25 files changed, 57 insertions(+), 21 deletions(-) > > > diff --git a/configure b/configure > > index cab830a4c920..a8e5c14899d6 100755 > > --- a/configure > > +++ b/configure > > @@ -7770,6 +7770,7 @@ for bios_file in \ > > $source_path/pc-bios/*.img \ > > $source_path/pc-bios/openbios-* \ > > $source_path/pc-bios/u-boot.* \ > > + $source_path/pc-bios/edk2-*.fd.xz \ > > $source_path/pc-bios/palcode-* > > do > > LINKS="$LINKS pc-bios/$(basename $bios_file)" > > diff --git a/Makefile b/Makefile > > index b98567ee0f83..4b325052005e 100644 > > --- a/Makefile > > +++ b/Makefile > > @@ -296,6 +296,10 @@ ui/input-keymap-%.c: $(KEYCODEMAP_GEN) $(KEYCODEMAP_CSV) $(SRC_PATH)/ui/Makefile > > $(KEYCODEMAP_GEN): .git-submodule-status > > $(KEYCODEMAP_CSV): .git-submodule-status > > > > +edk2-decompressed = $(basename $(wildcard pc-bios/edk2-*.fd.xz)) > > +pc-bios/edk2-%.fd: pc-bios/edk2-%.fd.xz > > + $(call quiet-command,xz -d -c $< > $@,"UNXZ",$<) > > + > > # Don't try to regenerate Makefile or configure > > # We don't generate any of them > > Makefile: ; > > @@ -444,6 +448,7 @@ $(SOFTMMU_SUBDIR_RULES): $(block-obj-y) > > $(SOFTMMU_SUBDIR_RULES): $(crypto-obj-y) > > $(SOFTMMU_SUBDIR_RULES): $(io-obj-y) > > $(SOFTMMU_SUBDIR_RULES): config-all-devices.mak > > +$(SOFTMMU_SUBDIR_RULES): $(edk2-decompressed) > > > > subdir-%: > > $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C $* V="$(V)" TARGET_DIR="$*/" all,) > > @@ -632,6 +637,7 @@ clean: > > ! -path ./roms/edk2/ArmPkg/Library/GccLto/liblto-arm.a \ > > ! -path ./roms/edk2/BaseTools/Source/Python/UPT/Dll/sqlite3.dll \ > > -exec rm {} + > > + rm -f $(edk2-decompressed) > > rm -f $(filter-out %.tlb,$(TOOLS)) $(HELPERS-y) qemu-ga TAGS cscope.* *.pod *~ */*~ > > rm -f fsdev/*.pod scsi/*.pod > > rm -f qemu-img-cmds.h > > @@ -722,10 +728,8 @@ spapr-rtas.bin slof.bin skiboot.lid \ > > palcode-clipper \ > > u-boot.e500 u-boot-sam460-20100605.bin \ > > qemu_vga.ndrv \ > > -hppa-firmware.img \ > > -edk2-aarch64-code.fd edk2-arm-code.fd edk2-i386-code.fd \ > > -edk2-i386-secure-code.fd edk2-x86_64-code.fd edk2-x86_64-secure-code.fd \ > > -edk2-arm-vars.fd edk2-i386-vars.fd edk2-licenses.txt > > +edk2-licenses.txt \ > > +hppa-firmware.img > > > > DESCS=50-edk2-i386-secure.json 50-edk2-x86_64-secure.json \ > > 60-edk2-aarch64.json 60-edk2-arm.json 60-edk2-i386.json 60-edk2-x86_64.json > > @@ -792,7 +796,8 @@ endif > > > > ICON_SIZES=16x16 24x24 32x32 48x48 64x64 128x128 256x256 512x512 > > > > -install: all $(if $(BUILD_DOCS),install-doc) install-datadir install-localstatedir > > +install: all $(if $(BUILD_DOCS),install-doc) install-datadir install-localstatedir \ > > + $(if $(INSTALL_BLOBS),$(edk2-decompressed)) > > ifneq ($(TOOLS),) > > $(call install-prog,$(subst qemu-ga,qemu-ga$(EXESUF),$(TOOLS)),$(DESTDIR)$(bindir)) > > endif > > @@ -814,6 +819,13 @@ ifneq ($(BLOBS),) > > set -e; for x in $(BLOBS); do \ > > $(INSTALL_DATA) $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(qemu_datadir)"; \ > > done > > +endif > > +ifdef INSTALL_BLOBS > > + set -e; for x in $(edk2-decompressed); do \ > > + $(INSTALL_DATA) $$x "$(DESTDIR)$(qemu_datadir)"; \ > > + done > > +endif > > +ifneq ($(DESCS),) > > $(INSTALL_DIR) "$(DESTDIR)$(qemu_datadir)/firmware" > > set -e; tmpf=$$(mktemp); trap 'rm -f -- "$$tmpf"' EXIT; \ > > for x in $(DESCS); do \ > > diff --git a/roms/Makefile.edk2 b/roms/Makefile.edk2 > > index ad6fff044cd6..e5c3036949c8 100644 > > --- a/roms/Makefile.edk2 > > +++ b/roms/Makefile.edk2 > > @@ -1,7 +1,7 @@ > > # Makefile for building firmware binaries and variable store templates for a > > # number of virtual platforms in edk2. > > # > > -# Copyright (C) 2019, Red Hat, Inc. > > +# Copyright (C) 2019 Red Hat, Inc. > > # > > # This program and the accompanying materials are licensed and made available > > # under the terms and conditions of the BSD License that accompanies this > > @@ -11,6 +11,8 @@ > > # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT > > # WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. > > > > +SHELL = /bin/bash > > + > > toolchain = $(shell source ./edk2-funcs.sh && qemu_edk2_get_toolchain $(1)) > > > > licenses := \ > > @@ -21,19 +23,27 @@ licenses := \ > > # The "edk2-arm-vars.fd" varstore template is suitable for aarch64 as well. > > # Similarly, the "edk2-i386-vars.fd" varstore template is suitable for x86_64 > > # as well, independently of "secure" too. > > -all: \ > > - ../pc-bios/edk2-aarch64-code.fd \ > > - ../pc-bios/edk2-arm-code.fd \ > > - ../pc-bios/edk2-i386-code.fd \ > > - ../pc-bios/edk2-i386-secure-code.fd \ > > - ../pc-bios/edk2-x86_64-code.fd \ > > - ../pc-bios/edk2-x86_64-secure-code.fd \ > > - \ > > - ../pc-bios/edk2-arm-vars.fd \ > > - ../pc-bios/edk2-i386-vars.fd \ > > +flashdevs := \ > > + aarch64-code \ > > + arm-code \ > > + i386-code \ > > + i386-secure-code \ > > + x86_64-code \ > > + x86_64-secure-code \ > > \ > > + arm-vars \ > > + i386-vars > > + > > +all: $(foreach flashdev,$(flashdevs),../pc-bios/edk2-$(flashdev).fd.xz) \ > > ../pc-bios/edk2-licenses.txt > > > > +../pc-bios/edk2-%.fd.xz: ../pc-bios/edk2-%.fd > > + xz -9 -e -c $< > $@ > > + > > +# When the build completes, we need not keep the uncompressed flash device > > +# files. > > +.INTERMEDIATE: $(foreach flashdev,$(flashdevs),../pc-bios/edk2-$(flashdev).fd) > > + > > submodules: > > cd edk2 && git submodule update --init --force > > > > diff --git a/tests/Makefile.include b/tests/Makefile.include > > index a5719551dd1b..6c116addafe4 100644 > > --- a/tests/Makefile.include > > +++ b/tests/Makefile.include > > @@ -915,7 +915,7 @@ check-speed: $(check-speed-y) > > > > # gtester tests with TAP output > > > > -$(patsubst %, check-report-qtest-%.tap, $(QTEST_TARGETS)): check-report-qtest-%.tap: $(check-qtest-y) > > +$(patsubst %, check-report-qtest-%.tap, $(QTEST_TARGETS)): check-report-qtest-%.tap: subdir-%-softmmu $(check-qtest-y) > > $(call do_test_tap, $(check-qtest-$*-y) $(check-qtest-generic-y), \ > > QTEST_QEMU_BINARY=$*-softmmu/qemu-system-$* \ > > QTEST_QEMU_IMG=qemu-img$(EXESUF)) > > diff --git a/.gitignore b/.gitignore > > index 77522561b8ea..889896c023fd 100644 > > --- a/.gitignore > > +++ b/.gitignore > > @@ -96,6 +96,7 @@ > > *.gcno > > *.gcov > > /pc-bios/bios-pq/status > > +/pc-bios/edk2-*.fd > > /pc-bios/vgabios-pq/status > > /pc-bios/optionrom/linuxboot.asm > > /pc-bios/optionrom/linuxboot.bin > > diff --git a/MAINTAINERS b/MAINTAINERS > > index d3267560799b..eefa225a234a 100644 > > --- a/MAINTAINERS > > +++ b/MAINTAINERS > > @@ -2207,6 +2207,18 @@ F: include/hw/i2c/smbus_master.h > > F: include/hw/i2c/smbus_slave.h > > F: include/hw/i2c/smbus_eeprom.h > > > > +EDK2 Firmware > > +M: Laszlo Ersek <lersek@redhat.com> > > +M: Philippe Mathieu-Daudé <philmd@redhat.com> > > +S: Supported > > +F: pc-bios/descriptors/??-edk2-*.json > > +F: pc-bios/edk2-* > > +F: roms/Makefile.edk2 > > +F: roms/edk2 > > +F: roms/edk2-* > > +F: tests/data/uefi-boot-images/ > > +F: tests/uefi-test-tools/ > > + > > Usermode Emulation > > ------------------ > > Overall > > diff --git a/pc-bios/README b/pc-bios/README > > index 4b87e1e975c9..f6acd3209610 100644 > > --- a/pc-bios/README > > +++ b/pc-bios/README > > @@ -51,7 +51,7 @@ > > - QemuMacDrivers (https://github.com/ozbenh/QemuMacDrivers) is a project to > > provide virtualised drivers for PPC MacOS guests. > > > > -- The "edk2-*.fd" images are platform firmware binaries and matching UEFI > > +- The "edk2-*.fd.xz" images are platform firmware binaries and matching UEFI > > variable store templates built from the TianoCore community's EFI Development > > Kit II project > > <https://github.com/tianocore/tianocore.github.io/wiki/EDK-II>. The images > > diff --git a/pc-bios/edk2-aarch64-code.fd b/pc-bios/edk2-aarch64-code.fd > > deleted file mode 100644 > > index c6ef5113e8cd..000000000000 > > Binary files a/pc-bios/edk2-aarch64-code.fd and /dev/null differ > > diff --git a/pc-bios/edk2-aarch64-code.fd.xz b/pc-bios/edk2-aarch64-code.fd.xz > > new file mode 100644 > > index 000000000000..8ca34c56b51b > > Binary files /dev/null and b/pc-bios/edk2-aarch64-code.fd.xz differ > > diff --git a/pc-bios/edk2-arm-code.fd b/pc-bios/edk2-arm-code.fd > > deleted file mode 100644 > > index 2ebd846818d1..000000000000 > > Binary files a/pc-bios/edk2-arm-code.fd and /dev/null differ > > diff --git a/pc-bios/edk2-arm-code.fd.xz b/pc-bios/edk2-arm-code.fd.xz > > new file mode 100644 > > index 000000000000..db2c20b71e29 > > Binary files /dev/null and b/pc-bios/edk2-arm-code.fd.xz differ > > diff --git a/pc-bios/edk2-arm-vars.fd b/pc-bios/edk2-arm-vars.fd > > deleted file mode 100644 > > index a71658f98825..000000000000 > > Binary files a/pc-bios/edk2-arm-vars.fd and /dev/null differ > > diff --git a/pc-bios/edk2-arm-vars.fd.xz b/pc-bios/edk2-arm-vars.fd.xz > > new file mode 100644 > > index 000000000000..8c3a4b5c8bdc > > Binary files /dev/null and b/pc-bios/edk2-arm-vars.fd.xz differ > > diff --git a/pc-bios/edk2-i386-code.fd b/pc-bios/edk2-i386-code.fd > > deleted file mode 100644 > > index df3d24182209..000000000000 > > Binary files a/pc-bios/edk2-i386-code.fd and /dev/null differ > > diff --git a/pc-bios/edk2-i386-code.fd.xz b/pc-bios/edk2-i386-code.fd.xz > > new file mode 100644 > > index 000000000000..f25dbec37e72 > > Binary files /dev/null and b/pc-bios/edk2-i386-code.fd.xz differ > > diff --git a/pc-bios/edk2-i386-secure-code.fd b/pc-bios/edk2-i386-secure-code.fd > > deleted file mode 100644 > > index 9f203cdd0d88..000000000000 > > Binary files a/pc-bios/edk2-i386-secure-code.fd and /dev/null differ > > diff --git a/pc-bios/edk2-i386-secure-code.fd.xz b/pc-bios/edk2-i386-secure-code.fd.xz > > new file mode 100644 > > index 000000000000..11d499b90d85 > > Binary files /dev/null and b/pc-bios/edk2-i386-secure-code.fd.xz differ > > diff --git a/pc-bios/edk2-i386-vars.fd b/pc-bios/edk2-i386-vars.fd > > deleted file mode 100644 > > index efb4f46c09af..000000000000 > > Binary files a/pc-bios/edk2-i386-vars.fd and /dev/null differ > > diff --git a/pc-bios/edk2-i386-vars.fd.xz b/pc-bios/edk2-i386-vars.fd.xz > > new file mode 100644 > > index 000000000000..1656532daa6e > > Binary files /dev/null and b/pc-bios/edk2-i386-vars.fd.xz differ > > diff --git a/pc-bios/edk2-x86_64-code.fd b/pc-bios/edk2-x86_64-code.fd > > deleted file mode 100644 > > index bf2dd8c4373d..000000000000 > > Binary files a/pc-bios/edk2-x86_64-code.fd and /dev/null differ > > diff --git a/pc-bios/edk2-x86_64-code.fd.xz b/pc-bios/edk2-x86_64-code.fd.xz > > new file mode 100644 > > index 000000000000..92398935a482 > > Binary files /dev/null and b/pc-bios/edk2-x86_64-code.fd.xz differ > > diff --git a/pc-bios/edk2-x86_64-secure-code.fd b/pc-bios/edk2-x86_64-secure-code.fd > > deleted file mode 100644 > > index d1a28834ce60..000000000000 > > Binary files a/pc-bios/edk2-x86_64-secure-code.fd and /dev/null differ > > diff --git a/pc-bios/edk2-x86_64-secure-code.fd.xz b/pc-bios/edk2-x86_64-secure-code.fd.xz > > new file mode 100644 > > index 000000000000..a95891dcf134 > > Binary files /dev/null and b/pc-bios/edk2-x86_64-secure-code.fd.xz differ > > diff --git a/roms/edk2-build.sh b/roms/edk2-build.sh > > index 936d2c874a22..4f46f8a6a217 100755 > > --- a/roms/edk2-build.sh > > +++ b/roms/edk2-build.sh > > @@ -2,7 +2,7 @@ > > > > # Wrapper shell script for building a virtual platform firmware in edk2. > > # > > -# Copyright (C) 2019, Red Hat, Inc. > > +# Copyright (C) 2019 Red Hat, Inc. > > # > > # This program and the accompanying materials are licensed and made available > > # under the terms and conditions of the BSD License that accompanies this > > diff --git a/roms/edk2-funcs.sh b/roms/edk2-funcs.sh > > index 7fc62f074c59..a9fae7ee891b 100644 > > --- a/roms/edk2-funcs.sh > > +++ b/roms/edk2-funcs.sh > > @@ -1,9 +1,9 @@ > > # Shell script that defines functions for determining some environmental > > # characteristics for the edk2 "build" utility. > > # > > -# This script is meant to be sourced. > > +# This script is meant to be sourced, in a bash environment. > > # > > -# Copyright (C) 2019, Red Hat, Inc. > > +# Copyright (C) 2019 Red Hat, Inc. > > # > > # This program and the accompanying materials are licensed and made available > > # under the terms and conditions of the BSD License that accompanies this > > Thanks, > Laszlo > > Laszlo Ersek (12): > roms: lift "edk2-funcs.sh" from "tests/uefi-test-tools/build.sh" > roms/edk2-funcs.sh: require gcc-4.8+ for building i386 and x86_64 > tests/uefi-test-tools/build.sh: work around TianoCore#1607 > roms/edk2: advance to tag edk2-stable201903 > roms/edk2-funcs.sh: add the qemu_edk2_get_thread_count() function > roms/Makefile: replace the $(EFIROM) target with "edk2-basetools" > roms: build edk2 firmware binaries and variable store templates > pc-bios: add edk2 firmware binaries and variable store templates > pc-bios: document the edk2 firmware images; add firmware descriptors > tests: add missing dependency to build QTEST_QEMU_BINARY, round 2 > Makefile: install the edk2 firmware images and their descriptors > MAINTAINERS: add the "EDK2 Firmware" subsystem > > .gitignore | 1 + > MAINTAINERS | 12 + > Makefile | 29 ++- > configure | 1 + > pc-bios/README | 11 + > pc-bios/descriptors/50-edk2-i386-secure.json | 34 +++ > pc-bios/descriptors/50-edk2-x86_64-secure.json | 35 +++ > pc-bios/descriptors/60-edk2-aarch64.json | 31 +++ > pc-bios/descriptors/60-edk2-arm.json | 31 +++ > pc-bios/descriptors/60-edk2-i386.json | 33 +++ > pc-bios/descriptors/60-edk2-x86_64.json | 34 +++ > pc-bios/edk2-aarch64-code.fd.xz | Bin 0 -> 1146804 bytes > pc-bios/edk2-arm-code.fd.xz | Bin 0 -> 1147852 bytes > pc-bios/edk2-arm-vars.fd.xz | Bin 0 -> 10008 bytes > pc-bios/edk2-i386-code.fd.xz | Bin 0 -> 1674764 bytes > pc-bios/edk2-i386-secure-code.fd.xz | Bin 0 -> 1870024 bytes > pc-bios/edk2-i386-vars.fd.xz | Bin 0 -> 320 bytes > pc-bios/edk2-licenses.txt | 209 ++++++++++++++++ > pc-bios/edk2-x86_64-code.fd.xz | Bin 0 -> 1655276 bytes > pc-bios/edk2-x86_64-secure-code.fd.xz | Bin 0 -> 1889024 bytes > roms/Makefile | 9 +- > roms/Makefile.edk2 | 148 ++++++++++++ > roms/edk2 | 2 +- > roms/edk2-build.sh | 55 +++++ > roms/edk2-funcs.sh | 253 ++++++++++++++++++++ > tests/Makefile.include | 2 +- > tests/uefi-test-tools/build.sh | 100 +------- > 27 files changed, 934 insertions(+), 96 deletions(-) > create mode 100644 pc-bios/descriptors/50-edk2-i386-secure.json > create mode 100644 pc-bios/descriptors/50-edk2-x86_64-secure.json > create mode 100644 pc-bios/descriptors/60-edk2-aarch64.json > create mode 100644 pc-bios/descriptors/60-edk2-arm.json > create mode 100644 pc-bios/descriptors/60-edk2-i386.json > create mode 100644 pc-bios/descriptors/60-edk2-x86_64.json > create mode 100644 pc-bios/edk2-aarch64-code.fd.xz > create mode 100644 pc-bios/edk2-arm-code.fd.xz > create mode 100644 pc-bios/edk2-arm-vars.fd.xz > create mode 100644 pc-bios/edk2-i386-code.fd.xz > create mode 100644 pc-bios/edk2-i386-secure-code.fd.xz > create mode 100644 pc-bios/edk2-i386-vars.fd.xz > create mode 100644 pc-bios/edk2-licenses.txt > create mode 100644 pc-bios/edk2-x86_64-code.fd.xz > create mode 100644 pc-bios/edk2-x86_64-secure-code.fd.xz > create mode 100644 roms/Makefile.edk2 > create mode 100755 roms/edk2-build.sh > create mode 100644 roms/edk2-funcs.sh > > -- > 2.19.1.3.g30247aa5d201
Hi, From my previous experience with the tests/ patches, I understood we could still send PR that improve testing after soft freeze. This series doesn't modify the QEMU binaries, it add EDK2 firmware blobs in roms/ and rules to rebuild these roms. These roms are useful for the ACPI tests introduced in commits 09a274d82f and 503bb0b975a on the arm/virt board. There is 1 direct change: 1/ in the root Makefile, the 'make install' rule installs one new file: - edk2-licenses.txt And there are 2 other changes which require user specific action: 2/ Set the environment variable 'INSTALL_BLOBS', the 'make install' rule will install the firmware blobs and the firmware JSON descriptors 3/ a new 'efi' target rule in roms/Makefile I'm planning to send a PR for this series but I want to check first if there is any issue with the current policy/rules. Thanks, Phil. On 3/13/19 10:00 PM, Laszlo Ersek wrote: > Repo: https://github.com/lersek/qemu.git > Branch: edk2_build_v2 > > Version 1, that is: > [Qemu-devel] [PATCH 00/10] bundle edk2 platform firmware with QEMU > > was posted at: > https://lists.gnu.org/archive/html/qemu-devel/2019-03/msg02846.html > http://mid.mail-archive.com/20190309004826.9027-1-lersek@redhat.com > > Updates in v2 are noted on each patch individually, in the Notes > section. > [...] >> .gitignore | 1 + >> MAINTAINERS | 12 ++++++++ >> Makefile | 22 +++++++++++--- >> configure | 1 + >> pc-bios/README | 2 +- >> pc-bios/edk2-aarch64-code.fd | Bin 67108864 -> 0 bytes >> pc-bios/edk2-aarch64-code.fd.xz | Bin 0 -> 1146804 bytes >> pc-bios/edk2-arm-code.fd | Bin 67108864 -> 0 bytes >> pc-bios/edk2-arm-code.fd.xz | Bin 0 -> 1147852 bytes >> pc-bios/edk2-arm-vars.fd | Bin 67108864 -> 0 bytes >> pc-bios/edk2-arm-vars.fd.xz | Bin 0 -> 10008 bytes >> pc-bios/edk2-i386-code.fd | Bin 3653632 -> 0 bytes >> pc-bios/edk2-i386-code.fd.xz | Bin 0 -> 1674764 bytes >> pc-bios/edk2-i386-secure-code.fd | Bin 3653632 -> 0 bytes >> pc-bios/edk2-i386-secure-code.fd.xz | Bin 0 -> 1870024 bytes >> pc-bios/edk2-i386-vars.fd | Bin 540672 -> 0 bytes >> pc-bios/edk2-i386-vars.fd.xz | Bin 0 -> 320 bytes >> pc-bios/edk2-x86_64-code.fd | Bin 3653632 -> 0 bytes >> pc-bios/edk2-x86_64-code.fd.xz | Bin 0 -> 1655276 bytes >> pc-bios/edk2-x86_64-secure-code.fd | Bin 3653632 -> 0 bytes >> pc-bios/edk2-x86_64-secure-code.fd.xz | Bin 0 -> 1889024 bytes >> roms/Makefile.edk2 | 32 +++++++++++++------- >> roms/edk2-build.sh | 2 +- >> roms/edk2-funcs.sh | 4 +-- >> tests/Makefile.include | 2 +- >> 25 files changed, 57 insertions(+), 21 deletions(-)
On 3/15/19 11:42 AM, Philippe Mathieu-Daudé wrote: > Hi, > >>From my previous experience with the tests/ patches, I understood we > could still send PR that improve testing after soft freeze. > This series doesn't modify the QEMU binaries, it add EDK2 firmware blobs > in roms/ and rules to rebuild these roms. > These roms are useful for the ACPI tests introduced in commits > 09a274d82f and 503bb0b975a on the arm/virt board. > > There is 1 direct change: > > 1/ in the root Makefile, the 'make install' rule installs one new file: > - edk2-licenses.txt > > And there are 2 other changes which require user specific action: > > 2/ Set the environment variable 'INSTALL_BLOBS', the 'make install' rule > will install the firmware blobs and the firmware JSON descriptors > > 3/ a new 'efi' target rule in roms/Makefile > > I'm planning to send a PR for this series but I want to check first if > there is any issue with the current policy/rules. > If this were during -rc2 or -rc3, our goal would be minimizing churn, and I would lean towards deferral. But for mere softfreeze before -rc0, and with your justification that this helps downstreams while provably being independent enough of the main binaries to be low risk, I agree with the idea of a PR.
14.03.2019 0:00, Laszlo Ersek wrote: > Repo: https://github.com/lersek/qemu.git > Branch: edk2_build_v2 > > Version 1, that is: > [Qemu-devel] [PATCH 00/10] bundle edk2 platform firmware with QEMU ... Hmm. Why to do so? Isn't the goal was to REMOVE current ROM sources from qemu in favor of external projects? Thanks, /mjt
On 03/15/19 17:42, Philippe Mathieu-Daudé wrote: > Hi, > > From my previous experience with the tests/ patches, I understood we > could still send PR that improve testing after soft freeze. > This series doesn't modify the QEMU binaries, it add EDK2 firmware blobs > in roms/ and rules to rebuild these roms. > These roms are useful for the ACPI tests introduced in commits > 09a274d82f and 503bb0b975a on the arm/virt board. > > There is 1 direct change: > > 1/ in the root Makefile, the 'make install' rule installs one new file: > - edk2-licenses.txt > > And there are 2 other changes which require user specific action: > > 2/ Set the environment variable 'INSTALL_BLOBS', the 'make install' rule > will install the firmware blobs and the firmware JSON descriptors (commenting only on the technical note, not the scheduling / PULL, because I see other (younger) emails in my INBOX about those:) "INSTALL_BLOBS" is not a new environment variable or Makefile macro -- the context in the affected patch [1] may not show it, but INSTALL_BLOBS is preexistent, and some of the hunks modify source code that already falls under INSTALL_BLOBS's scope (e.g., the mention of the "edk2-licenses.txt" file). [1] "Makefile: install the edk2 firmware images and their descriptors" In fact the commit message refers to "--disable-blobs": Decompress and install the edk2 firmware blobs as part of "make install", unless blob installation was disabled with configure's "--disable-blobs" option. That's what controls INSTALL_BLOBS. (I was intrigued myself, and had tracked it down for the commit message.) Thanks, Laszlo > > 3/ a new 'efi' target rule in roms/Makefile > > I'm planning to send a PR for this series but I want to check first if > there is any issue with the current policy/rules. > > Thanks, > > Phil. > > On 3/13/19 10:00 PM, Laszlo Ersek wrote: >> Repo: https://github.com/lersek/qemu.git >> Branch: edk2_build_v2 >> >> Version 1, that is: >> [Qemu-devel] [PATCH 00/10] bundle edk2 platform firmware with QEMU >> >> was posted at: >> https://lists.gnu.org/archive/html/qemu-devel/2019-03/msg02846.html >> http://mid.mail-archive.com/20190309004826.9027-1-lersek@redhat.com >> >> Updates in v2 are noted on each patch individually, in the Notes >> section. >> > [...] >>> .gitignore | 1 + >>> MAINTAINERS | 12 ++++++++ >>> Makefile | 22 +++++++++++--- >>> configure | 1 + >>> pc-bios/README | 2 +- >>> pc-bios/edk2-aarch64-code.fd | Bin 67108864 -> 0 bytes >>> pc-bios/edk2-aarch64-code.fd.xz | Bin 0 -> 1146804 bytes >>> pc-bios/edk2-arm-code.fd | Bin 67108864 -> 0 bytes >>> pc-bios/edk2-arm-code.fd.xz | Bin 0 -> 1147852 bytes >>> pc-bios/edk2-arm-vars.fd | Bin 67108864 -> 0 bytes >>> pc-bios/edk2-arm-vars.fd.xz | Bin 0 -> 10008 bytes >>> pc-bios/edk2-i386-code.fd | Bin 3653632 -> 0 bytes >>> pc-bios/edk2-i386-code.fd.xz | Bin 0 -> 1674764 bytes >>> pc-bios/edk2-i386-secure-code.fd | Bin 3653632 -> 0 bytes >>> pc-bios/edk2-i386-secure-code.fd.xz | Bin 0 -> 1870024 bytes >>> pc-bios/edk2-i386-vars.fd | Bin 540672 -> 0 bytes >>> pc-bios/edk2-i386-vars.fd.xz | Bin 0 -> 320 bytes >>> pc-bios/edk2-x86_64-code.fd | Bin 3653632 -> 0 bytes >>> pc-bios/edk2-x86_64-code.fd.xz | Bin 0 -> 1655276 bytes >>> pc-bios/edk2-x86_64-secure-code.fd | Bin 3653632 -> 0 bytes >>> pc-bios/edk2-x86_64-secure-code.fd.xz | Bin 0 -> 1889024 bytes >>> roms/Makefile.edk2 | 32 +++++++++++++------- >>> roms/edk2-build.sh | 2 +- >>> roms/edk2-funcs.sh | 4 +-- >>> tests/Makefile.include | 2 +- >>> 25 files changed, 57 insertions(+), 21 deletions(-)
Hi Michael, On 03/16/19 15:56, Michael Tokarev wrote: > 14.03.2019 0:00, Laszlo Ersek wrote: >> Repo: https://github.com/lersek/qemu.git >> Branch: edk2_build_v2 >> >> Version 1, that is: >> [Qemu-devel] [PATCH 00/10] bundle edk2 platform firmware with QEMU > ... > > Hmm. Why to do so? Isn't the goal was to REMOVE current > ROM sources from qemu in favor of external projects? I had learned about this goal (from Dan) first when I was fairly deep into this work already. The motives for the bundling are: (1) ACPI regression tests need an easily available (distro-independent) set of UEFI firmware binaries, and "quickly" was preferred to "slowly", (2) it's been a long time user need (although perhaps not a very strong one) to get UEFI guest firmware right from QEMU, not just non-UEFI guest firmware (which is basically synonymous with "BIOS" for x86). In short, I didn't mean to ignore the goal you mention -- I didn't know about it, while (1) was perceived as urgent. Thanks Laszlo