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

Andrew Jones
2024-02-27T19:21:15Z

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

--
2.43.0