From patchwork Thu Jun 11 08:17:02 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 242135 List-Id: U-Boot discussion From: ardb at kernel.org (Ard Biesheuvel) Date: Thu, 11 Jun 2020 10:17:02 +0200 Subject: [PATCH v2 0/5] Fixes for running U-boot under QEMU/KVM Message-ID: <20200611081707.195994-1-ardb@kernel.org> This series fixes a number of issues that exist in the QEMU/mach-virt port of u-boot, and that prevent it from executing correctly under virtualization (as opposed to TCG emulation) As the Linux EFI subsystem maintainer, I am looking to increase test coverage for the EFI related changes that are under development for Linux, and one of the things I plan to do is start using U-boot as test firmware for boot testing. This can be done under TCG emulation, but given how loosely TCG implements the architecture, it is better to test under virtualization as well. With these changes applied, u-boot can boot Linux in EFI mode under KVM. Changes since v1: - fix LPAE memory type for DCACHE_WRITETHROUGH as well, and add some comments to clarify what the values are based on (patch #1) - only override the flash accessors that we need to (patch #5) - add Heinrich's ack to #2 and #4 Cc: Tom Rini Cc: Andre Przywara Cc: Heinrich Schuchardt Cc: Tuomas Tynkkynen Ard Biesheuvel (5): arm: enable allocate-on-read for LPAE's DCACHE_WRITEBACK/_WRITETHROUGH arm: qemu: enable LPAE on 32-bit arm: qemu: implement enable_caches() arm: qemu: disable the EFI workaround for older GRUB arm: qemu: override flash accessors to use virtualizable instructions arch/arm/include/asm/system.h | 23 +++++++++--- board/emulation/qemu-arm/qemu-arm.c | 37 ++++++++++++++++++++ configs/qemu_arm_defconfig | 2 ++ include/configs/qemu-arm.h | 1 + 4 files changed, 59 insertions(+), 4 deletions(-)