[PATCH v2 0/5] Fixes for running U-boot under QEMU/KVM

Ard Biesheuvel
2020-06-11T08:17:02Z

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 <trini@konsulko.com>
Cc: Andre Przywara <andre.przywara@arm.com>
Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>

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(-)

--
2.26.2