On Tue, Feb 28, 2017 at 10:51:51PM +0000, Vladimir 'phcoder' Serbinenko wrote: > 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?
Not a lot. 2, 4, 6 and 7 apply cleanly if I merge the others manually. 1 fails on efi.h because 0d23457 isn't in your branch, and I think that's the reason 3 fails too. 5 fails partly due to some of your fdt changes, but again not a hard manual fix. There is effectively no functional overlap. / Leif > 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 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel