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(). v3: - Dropped fdt_valid - Factored out qemu_args+=(-machine acpi=off) [Nikos] - Ensure etext is page aligned - Picked up Nikos's r-b's 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 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/elf_aarch64_efi.lds | 1 + arm/efi/run | 64 ++++++---- arm/run | 6 +- configure | 17 +++ lib/arm/mmu.c | 6 +- lib/arm/setup.c | 227 ++++++++++++++---------------------- lib/efi.c | 84 +++++++++++-- lib/linux/efi.h | 29 +++++ lib/memregions.c | 53 +++++++++ lib/memregions.h | 6 + run_tests.sh | 5 +- scripts/runtime.bash | 21 ++-- 14 files changed, 389 insertions(+), 199 deletions(-) -- 2.44.0