This series of patches converts the PowerPC ieee1275 memory allocator for kernel and initrd to use the (PowerPC) regions_claim memory allocator that takes into account memory regions that are not allowed to be used, such as the gap between 640MB and 768MB as well as memory regions beyond an address in case an fadump is present. Otherwise those two could be loaded into restricted memory regions and either cause a crash or corruption of the fadump.
I adjusted the kernel and initrd load in loader/powerpc/ieee1275 to use the new memory allocator only on PowerVM and PowerKVM since this code is shared with other platforms, such as old PowerMACs. Regards, Stefan Stefan Berger (9): kern/ieee1275/init: ppc64: Introduce a request for regions_claim kern/ieee1275/init: ppc64: Decide by request whether to initialize region kern/ieee1275/init: ppc64: Return allocated address and len using context kern/ieee1275/init: ppc64: Check early for sufficiently large chunk kern/ieee1275/init: ppc64: Add support for alignment requirements kern/ieee1275/init: ppc64: Implement alloc_mem_restricted kern/ieee1275/cmain: ppc64: Introduce flags to identify Power VM and KVM loader/powerpc/ieee1275: Use new allocation function for kernel and initrd kern/ieee1275/ieee1275.c: debug: Display successful memory claims grub-core/Makefile.am | 1 + grub-core/kern/ieee1275/cmain.c | 6 +- grub-core/kern/ieee1275/ieee1275.c | 2 + grub-core/kern/ieee1275/init.c | 76 +++++++++++++++++++---- grub-core/loader/powerpc/ieee1275/linux.c | 50 ++++++++++++--- include/grub/ieee1275/ieee1275.h | 4 ++ include/grub/powerpc/ieee1275/alloc.h | 20 ++++++ 7 files changed, 139 insertions(+), 20 deletions(-) create mode 100644 include/grub/powerpc/ieee1275/alloc.h -- 2.25.1 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel