On 03/10/19 12:21, Philippe Mathieu-Daudé wrote: > On 3/10/19 4:56 AM, Michael S. Tsirkin wrote: >> On Sat, Mar 09, 2019 at 01:48:16AM +0100, Laszlo Ersek wrote: >>> Repo: https://github.com/lersek/qemu.git >>> Branch: edk2_build >>> >>> This series advances the roms/edk2 submodule to the "edk2-stable201903" >>> release, and builds and captures platform firmware binaries from that >>> release. At this point they are meant to be used by both end-users and >>> by Igor's ACPI unit tests in qtest ("make check"). >>> >>> Previous discussion: >>> >>> [Qemu-devel] bundling edk2 platform firmware images with QEMU >>> >>> 80f0bae3-e79a-bb68-04c4-1c9c684d95b8@redhat.com">http://mid.mail-archive.com/80f0bae3-e79a-bb68-04c4-1c9c684d95b8@redhat.com >>> https://lists.gnu.org/archive/html/qemu-devel/2019-03/msg02601.html > > There David raised a concern about "[adding] ~206 MB of binaries to the > pc-bios directory".
(I think the concern was voiced by Dan first.) > I'm also worried. I'm not. The actual data size, both to transfer (push/pull) and to store in the .git subdirectory, is ~9MB. (As I explained earlier.) git-checkout *could* in theory eat more space, but, in my testing, it doesn't; for me, git-checkout punches holes in the checked-out files. Please see the earlier discussion for that reference too. (Note: I'm on ext4, so nothing enterprisey like xfs.) > GitHub kindly suggest to use git-lfs. Just ignore that -- not because it's another dependency, but because external storage for these blobs is actually not required. > It is an extra dependency I'd > rather strongly avoid (because we support a wide range of host OS, each > using a wide types of filesystems). > > What about storing those binaries on a file server (http/ftp) altogether > with a file containing its hashed digest (SHA1/SHA256)? Then we already > have all the required tools to fetch and verify those blob roms with the > build system. > Or we could store the hashes in the QEMU repository too. Let's not implement "fedpkg sources" within upstream QEMU, unless we really must. > >>> Note that the series was formatted with "--no-binary" (affecting patch >>> #8), therefore it cannot be applied with "git-am". See the remote >>> repo/branch reference near the top instead. >>> >>> Thanks, >>> Laszlo >> >> High time IMO. > > :) > >> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> >> >> Laszlo I suggest you add an entry to MAINTAINERS >> and start doing pull requests. I'm glad to do that (in the hope that updates will be mostly painless, regarding the build scaffolding). > > This is the entry I added here: > https://lists.gnu.org/archive/html/qemu-devel/2019-03/msg02967.html Hmm. That hunk is insufficient (it doesn't cover the files being added here), but if I add another hunk myself, then we'll have redundancy. In other words, this is a conflict. How should we resolve it? Should I add a separate patch at the end, and let Michael drop it or resolve the conflict, dependent on the order in which the series end up being merged? > >> >> Peter, what do you say? OK with you? > > Since this series doesn't change the QEMU binaries built, it looks OK to > me to merge it past soft freeze (as we do we tests/CI), this way it get > merged with the final EDK2 release tag. > Else we can merge it next week, and update the EDK2 submodule tag > previous QEMU release. I don't understand this paragraph -- the edk2 submodule commit reference is already the final one I have targeted for this work, namely "edk2-stable201903". (I had worried edk2 would suffer a delay in publishing the tag, but ultimately the community managed it just in time.) Thanks Laszlo > >>> Laszlo Ersek (10): >>> 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 >>> Makefile: install the edk2 firmware images and their descriptors >>> >>> Makefile | 17 +- >>> 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 | Bin 0 -> 67108864 bytes >>> pc-bios/edk2-arm-code.fd | Bin 0 -> 67108864 bytes >>> pc-bios/edk2-arm-vars.fd | Bin 0 -> 67108864 bytes >>> pc-bios/edk2-i386-code.fd | Bin 0 -> 3653632 bytes >>> pc-bios/edk2-i386-secure-code.fd | Bin 0 -> 3653632 bytes >>> pc-bios/edk2-i386-vars.fd | Bin 0 -> 540672 bytes >>> pc-bios/edk2-licenses.txt | 209 ++++++++++++++++ >>> pc-bios/edk2-x86_64-code.fd | Bin 0 -> 3653632 bytes >>> pc-bios/edk2-x86_64-secure-code.fd | Bin 0 -> 3653632 bytes >>> roms/Makefile | 9 +- >>> roms/Makefile.edk2 | 138 +++++++++++ >>> roms/edk2 | 2 +- >>> roms/edk2-build.sh | 55 +++++ >>> roms/edk2-funcs.sh | 253 ++++++++++++++++++++ >>> tests/uefi-test-tools/build.sh | 100 +------- >>> 23 files changed, 897 insertions(+), 95 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 >>> create mode 100644 pc-bios/edk2-arm-code.fd >>> create mode 100644 pc-bios/edk2-arm-vars.fd >>> create mode 100644 pc-bios/edk2-i386-code.fd >>> create mode 100644 pc-bios/edk2-i386-secure-code.fd >>> create mode 100644 pc-bios/edk2-i386-vars.fd >>> create mode 100644 pc-bios/edk2-licenses.txt >>> create mode 100644 pc-bios/edk2-x86_64-code.fd >>> create mode 100644 pc-bios/edk2-x86_64-secure-code.fd >>> 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