grub-devel.gnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/6] efi: arm linux loader unification and correctness
@ 2018-07-09 17:32 Leif Lindholm
  2018-07-09 17:33 ` [PATCH v4 1/6] efi: add central copy of grub_efi_find_mmap_size Leif Lindholm
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Leif Lindholm @ 2018-07-09 17:32 UTC (permalink / raw)
  To: grub-devel; +Cc: Daniel Kiper

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
    headers
  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/Makefile.am             |   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

-- 
2.11.0



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-07-10 12:20 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-07-09 17:32 [PATCH v4 0/6] efi: arm linux loader unification and correctness Leif Lindholm
2018-07-09 17:33 ` [PATCH v4 1/6] efi: add central copy of grub_efi_find_mmap_size Leif Lindholm
2018-07-09 17:33 ` [PATCH v4 2/6] efi: add grub_efi_get_ram_base() function for arm64 Leif Lindholm
2018-07-09 17:33 ` [PATCH v4 3/6] arm64 linux loader: rename functions and macros and move to common headers Leif Lindholm
2018-07-09 17:33 ` [PATCH v4 4/6] arm/efi: switch to arm64 linux loader Leif Lindholm
2018-07-09 17:33 ` [PATCH v4 5/6] arm: delete unused efi support from loader/arm Leif Lindholm
2018-07-09 17:33 ` [PATCH v4 6/6] efi: restrict arm/arm64 linux loader initrd placement Leif Lindholm
2018-07-10 12:20 ` [PATCH v4 0/6] efi: arm linux loader unification and correctness Daniel Kiper

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).