mbox series

[v3,0/5] Fixes for running U-boot under QEMU/KVM

Message ID 20200707100711.7446-1-ardb@kernel.org
Headers show
Series Fixes for running U-boot under QEMU/KVM | expand

Message

Ard Biesheuvel July 7, 2020, 10:07 a.m. UTC
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 v2:
- reinstate flash write accessors (patch #5)
- rebase onto 2020.07

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 at konsulko.com>
Cc: Andre Przywara <andre.przywara at arm.com>
Cc: Heinrich Schuchardt <xypron.glpk at gmx.de>
Cc: Tuomas Tynkkynen <tuomas.tynkkynen at 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 | 52 ++++++++++++++++++++
 configs/qemu_arm_defconfig          |  2 +
 include/configs/qemu-arm.h          |  1 +
 4 files changed, 74 insertions(+), 4 deletions(-)