From: Anthony PERARD Date: Mon, 19 Jul 2021 13:48:45 +0000 (+0100) Subject: tools/firmware/ovmf: Use OvmfXen platform file if exist and update OVMF X-Git-Tag: archive/raspbian/4.16.0+51-g0941d6cb-1+rpi1~2^2~42^2~309 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=81f29142023841f42bce8ae0c7b73077d7e47219;p=xen.git tools/firmware/ovmf: Use OvmfXen platform file if exist and update OVMF A platform introduced in EDK II named OvmfXen is now the one to use for Xen instead of OvmfX64. It comes with PVH support. Also, the Xen support in OvmfX64 is deprecated, "deprecation notice: *dynamic* multi-VMM (QEMU vs. Xen) support in OvmfPkg" https://edk2.groups.io/g/devel/message/75498 and has been removed upstream. We need to also update to a newer version of OVMF as OvmfXen in the release "edk2-stable202105" doesn't work well with Xen, so we need the fix b37cfdd28071 ("OvmfPkg/XenPlatformPei: Relocate shared_info page mapping"). Also, don't set anymore the number of thread for parallel build when building the newer platform, OvmfPkg/build.sh is now doing parallel build by default. Signed-off-by: Anthony PERARD Acked-by: Ian Jackson --- diff --git a/Config.mk b/Config.mk index f9dce4549b..4d723eec1d 100644 --- a/Config.mk +++ b/Config.mk @@ -244,7 +244,7 @@ QEMU_TRADITIONAL_URL ?= git://xenbits.xen.org/qemu-xen-traditional.git SEABIOS_UPSTREAM_URL ?= git://xenbits.xen.org/seabios.git MINIOS_UPSTREAM_URL ?= git://xenbits.xen.org/mini-os.git endif -OVMF_UPSTREAM_REVISION ?= e1999b264f1f9d7230edf2448f757c73da567832 +OVMF_UPSTREAM_REVISION ?= b37cfdd2807181aed2fee1e17bd7ec1190db266a QEMU_UPSTREAM_REVISION ?= master MINIOS_UPSTREAM_REVISION ?= 051b87bb9c19609976fb038f386920e1ce5454c5 diff --git a/tools/firmware/ovmf-makefile b/tools/firmware/ovmf-makefile index 55f9992145..1f619a5189 100644 --- a/tools/firmware/ovmf-makefile +++ b/tools/firmware/ovmf-makefile @@ -17,8 +17,14 @@ all: build .PHONY: build build: if test -e .git ; then $(GIT) submodule update --init --recursive ; fi - OvmfPkg/build.sh -a X64 -b $(TARGET) -n 4 - cp Build/OvmfX64/$(TARGET)_GCC*/FV/OVMF.fd ovmf.bin + set -ex; \ + if test -e OvmfPkg/OvmfXen.dsc; then \ + OvmfPkg/build.sh -a X64 -b $(TARGET) -p OvmfPkg/OvmfXen.dsc; \ + cp Build/OvmfXen/$(TARGET)_GCC*/FV/OVMF.fd ovmf.bin; \ + else \ + OvmfPkg/build.sh -a X64 -b $(TARGET) -n 4; \ + cp Build/OvmfX64/$(TARGET)_GCC*/FV/OVMF.fd ovmf.bin; \ + fi .PHONY: clean clean: