[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v4 0/6] efi: arm linux loader unification and correctness

From: Leif Lindholm
Subject: [PATCH v4 0/6] efi: arm linux loader unification and correctness
Date: Mon, 9 Jul 2018 18:32:59 +0100

The existing linux loader for 32-bit ARM is really only a piggy-back
on the U-Boot loader, and for UEFI it's entirely possible to reuse
the same loader across multiple architectures.

This set will stop the ability to boot non-efistub kernels on arm-efi,
but that has really only ever worked by luck.

Also, both arm and arm64 have certain requirements with regards to
placement of the initrd, which weren't honored by the existing loader -
leading to theoretical issues on arm and some very observable ones on
arm64 systems with large amounts of RAM or large holes in the memory
map. So ensure the unified loader respects these requirements.

Changes since v3:
- Reformatted grub_efi_get_ram_base() based on feedback.
- Renamed grub_efi_linux_* functions grub_armxx_efi_linux_*, and
  made the Linux magic macro naming match x86.
- Clarified commit message for 4/6.
- Relocated the comment and macros for initrd allocation function.

Changes since v2:
It would be difficult to provide a linear history of this set, but the
main change since v2 is the renaming/refactoring of linux headers to
be included for multiple architectures in a single source file
(which was actually submitted as a separate set), and the follow-on
changes this required for the unified apis.

Leif Lindholm (6):
  efi: add central copy of grub_efi_find_mmap_size
  efi: add grub_efi_get_ram_base() function for arm64
  arm64 linux loader: rename functions and macros and move to common
  arm/efi: switch to arm64 linux loader
  arm: delete unused efi support from loader/arm
  efi: restrict arm/arm64 linux loader initrd placement

 grub-core/             |   1 -
 grub-core/Makefile.core.def       |   7 +-
 grub-core/kern/arm/efi/misc.c     | 202 --------------------------------------
 grub-core/kern/efi/mm.c           |  51 ++++++++++
 grub-core/loader/arm/linux.c      |  28 ------
 grub-core/loader/arm64/linux.c    |  53 ++++++++--
 grub-core/loader/arm64/xen_boot.c |  10 +-
 include/grub/arm/efi/loader.h     |  26 -----
 include/grub/arm/linux.h          |  21 +---
 include/grub/arm64/linux.h        |   9 +-
 include/grub/efi/efi.h            |   6 ++
 11 files changed, 120 insertions(+), 294 deletions(-)
 delete mode 100644 grub-core/kern/arm/efi/misc.c
 delete mode 100644 include/grub/arm/efi/loader.h


reply via email to

[Prev in Thread] Current Thread [Next in Thread]