mbox series

[kvm-unit-tests,v2,00/18] arm64: EFI improvements

Message ID 20240227192109.487402-20-andrew.jones@linux.dev (mailing list archive)
Headers show
Series arm64: EFI improvements | expand

Message

Andrew Jones Feb. 27, 2024, 7:21 p.m. UTC
This series collects one fix ("Update MAX_SMP probe") with a bunch of
improvements to the EFI setup code and run script. With the series
applied one can add --enable-efi-direct when configuring and then
run the EFI tests on QEMU much, much faster by using direct kernel
boot for them (and environment variables will work too). The non-
direct (original) way of running the EFI tests has also been sped up
a bit by not running the dummy test and not generating the dtb twice.
The cleanups in the setup code allow duplicated code to be removed
(by sharing with the non-EFI setup code) and eventually for riscv
to share some code too with the introduction of memregions_efi_init().

v2:
 - Add another improvement (patches 15-17), which is to stop mapping
   EFI regions which we consider reserved (including
   EFI_BOOT_SERVICES_DATA regions which requires moving the primary stack)
 - Add EFI gitlab CI tests
 - Fix one typo in configure help text


Thanks,
drew


Andrew Jones (17):
  runtime: Update MAX_SMP probe
  runtime: Add yet another 'no kernel' error message
  arm64: efi: Don't create dummy test
  arm64: efi: Remove redundant dtb generation
  arm64: efi: Move run code into a function
  arm64: efi: Remove EFI_USE_DTB
  arm64: efi: Improve device tree discovery
  lib/efi: Add support for loading the initrd
  arm64: efi: Allow running tests directly
  arm/arm64: Factor out some initial setup
  arm/arm64: Factor out allocator init from mem_init
  arm64: Simplify efi_mem_init
  arm64: Add memregions_efi_init
  arm64: efi: Don't map reserved regions
  arm64: efi: Fix _start returns from failed _relocate
  arm64: efi: Switch to our own stack
  arm64: efi: Add gitlab CI

Shaoqin Huang (1):
  arm64: efi: Make running tests on EFI can be parallel

 .gitlab-ci.yml             |  32 +++++-
 arm/efi/crt0-efi-aarch64.S |  37 ++++--
 arm/efi/run                |  65 +++++++----
 arm/run                    |   6 +-
 configure                  |  17 +++
 lib/arm/mmu.c              |   6 +-
 lib/arm/setup.c            | 227 +++++++++++++++----------------------
 lib/efi.c                  |  93 +++++++++++++--
 lib/efi.h                  |   3 +-
 lib/linux/efi.h            |  29 +++++
 lib/memregions.c           |  53 +++++++++
 lib/memregions.h           |   6 +
 run_tests.sh               |   5 +-
 scripts/runtime.bash       |  21 ++--
 14 files changed, 396 insertions(+), 204 deletions(-)