From: Andrew Cooper Date: Tue, 22 Jun 2021 15:14:53 +0000 (+0100) Subject: Revert "tools/firmware/ovmf: Use OvmfXen platform file is exist" X-Git-Tag: archive/raspbian/4.16.0+51-g0941d6cb-1+rpi1~2^2~42^2~415 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c7691f5e340f3b579d40c77548f63133cdf5aac7;p=xen.git Revert "tools/firmware/ovmf: Use OvmfXen platform file is exist" This reverts commit aad7b5c11d51d57659978e04702ac970906894e8. The change from OvmfX64 to OvmfXen causes a change in behaviour, whereby OvmfXen maps its shared info page at the top of address space. When trying to migrate such a domain, XENMEM_maximum_gpfn returns a very large value. This has uncovered multiple issues: 1) The userspace hypercall wrappers truncate all return values to int on Linux and Solaris, even on 64bit. This needs fixing in libxenctrl. 2) 32bit toolstacks can't migrate any domain with RAM above the 2^40 mark, because of virtual address constraints. This needs fixing in OVMF. Fixes for both of these aren't completely trivial. Revert the change to unblock staging in the meantime. Signed-off-by: Andrew Cooper Acked-by: Anthony PERARD --- diff --git a/tools/firmware/ovmf-makefile b/tools/firmware/ovmf-makefile index 637ee509c3..55f9992145 100644 --- a/tools/firmware/ovmf-makefile +++ b/tools/firmware/ovmf-makefile @@ -17,14 +17,8 @@ all: build .PHONY: build build: if test -e .git ; then $(GIT) submodule update --init --recursive ; fi - set -ex; \ - if test -e OvmfPkg/OvmfXen.dsc; then \ - OvmfPkg/build.sh -a X64 -b $(TARGET) -n 4 -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 + OvmfPkg/build.sh -a X64 -b $(TARGET) -n 4 + cp Build/OvmfX64/$(TARGET)_GCC*/FV/OVMF.fd ovmf.bin .PHONY: clean clean: