Message ID | 20240305164623.379149-20-andrew.jones@linux.dev (mailing list archive) |
---|---|
Headers | show |
Series | arm64: EFI improvements | expand |
On Tue, Mar 05, 2024 at 05:46:24PM +0100, Andrew Jones wrote: > 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 > Merged. Thanks, drew