I will review your patches later. There might be some overlap with my "arm" branch. Can you have a look whether it diverges a lot?
On Tue, Feb 28, 2017, 14:48 Leif Lindholm <leif.lindh...@linaro.org> wrote: > This patch series is really three different ones, but they unite around > the need for (and the implementation) of more flexible control of memory > allocation on UEFI systems. > > 1: Adding new interfaces > - A function for detecting the start address of RAM > Since ARM platforms have no standardised memory map, implement a > function that picks the lowest-address region supporting the > write-back cache atribute from the UEFI memory map. > - Implement and expose a new memory allocation function giving access to > the allocation type and memory type arguments to the AllocatePages > boot service. > > 2: ARM unificatios > - The fdt helper library for arm64/efi is really an efi/fdt function. > So move it to neutral ground in loader/efi. > - The arm64 efi linux loader was written for arm64 only, so clean it up a > bit with regards to 32/64-bit portability, and abstract out some > definitions and function prototypes. > - Move the arm efi port to use the arm64 linux loader instead of the one > shared with the u-boot port. Clean up the u-boot loder by deleting the > efi-specific bits and other code only used by that. > > 3: Correctness improvements > - There are some restrictions on the placement of initrd images in > relation to the runtime kernel images, for both arm and arm64 - but the > arm64 one did not use to be explicitly documented (and only triggerable > on systems with > 40GB of RAM), and the u-boot loader always placed the > images nearly adjacent. Use the new interfaces to place the initrd as > approrpiate for each architecture. > - The allocation of memory for the grub heap is done of memory type > GRUB_EFI_LOADER_DATA. Since UEFI can return memory with non-executable > mappings for this request, and modules are loaded onto the heap, change > this allocation GRUB_EFI_LOADER_CODE instead. > > Leif Lindholm (7): > efi: add grub_efi_get_dram_base() function for arm* > efi: refactor grub_efi_allocate_pages > efi: move fdt helper library > arm64: make efi linux loader more generic > arm: reuse arm64 linux loader on efi systems > efi: restrict arm/arm64 linux loader initrd placement > efi: change heap allocation type to GRUB_EFI_LOADER_CODE > > grub-core/Makefile.am | 1 - > grub-core/Makefile.core.def | 6 +- > grub-core/kern/arm/efi/misc.c | 202 > ---------------------------------- > grub-core/kern/efi/mm.c | 92 ++++++++++++---- > grub-core/loader/arm/linux.c | 48 +------- > grub-core/loader/arm64/linux.c | 73 ++++++++---- > grub-core/loader/arm64/xen_boot.c | 15 +-- > grub-core/loader/{arm64 => efi}/fdt.c | 11 +- > include/grub/arm/efi/loader.h | 26 ----- > include/grub/arm/efi/memory.h | 3 + > include/grub/arm/linux.h | 30 ++--- > include/grub/arm64/efi/memory.h | 3 + > include/grub/arm64/linux.h | 13 +-- > include/grub/efi/efi.h | 10 ++ > include/grub/{arm64 => efi}/fdtload.h | 3 - > include/grub/efi/pe32.h | 2 + > 16 files changed, 176 insertions(+), 362 deletions(-) > delete mode 100644 grub-core/kern/arm/efi/misc.c > rename grub-core/loader/{arm64 => efi}/fdt.c (93%) > delete mode 100644 include/grub/arm/efi/loader.h > rename include/grub/{arm64 => efi}/fdtload.h (89%) > > -- > 2.11.0 > > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > https://lists.gnu.org/mailman/listinfo/grub-devel >
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel