v2: These patches are based on the Ben's next branch. In this version we choose to do a second relocation if the PAGE_OFFSET is not mapped to the memstart_addr and we also choose to set the tlb1 entries for the kernel space in address space 1. With this implementation: * We can load the kernel at any place between memstart_addr ~ memstart_addr + 768M * We can reserve any memory between memstart_addr ~ memstart_addr + 768M for a kdump kernel.
I have done a kdump boot on a p2020rdb kernel with the memory reserved by 'crashkernel=32M@320M'. v1: Currently the fsl booke 32bit kernel is using the DYNAMIC_MEMSTART relocation method. But the RELOCATABLE method is more flexible and has less alignment restriction. So enable this feature on this platform and use it by default for the kdump kernel. These patches have passed the kdump boot test on a p2020rdb board. Kevin Hao (8): powerpc/fsl_booke: protect the access to MAS7 with MMU_FTR_BIG_PHYS powerpc/fsl_booke: introduce get_phys_addr function powerpc: enable the relocatable support for the fsl booke 32bit kernel powerpc/fsl_booke: set the tlb entry for the kernel address in AS1 memblock: introduce the memblock_reinit function powerpc: introduce early_get_first_memblock_info powerpc/fsl_booke: make sure PAGE_OFFSET map to memstart_addr for relocatable kernel powerpc/fsl_booke: enable the relocatable for the kdump kernel arch/powerpc/Kconfig | 5 +- arch/powerpc/kernel/entry_32.S | 8 +- arch/powerpc/kernel/fsl_booke_entry_mapping.S | 14 +- arch/powerpc/kernel/head_fsl_booke.S | 233 ++++++++++++++++++++++++-- arch/powerpc/kernel/prom.c | 24 +++ arch/powerpc/mm/fsl_booke_mmu.c | 56 +++++++ arch/powerpc/mm/hugetlbpage-book3e.c | 3 +- arch/powerpc/mm/mmu_decl.h | 2 + include/linux/memblock.h | 1 + include/linux/of_fdt.h | 1 + mm/memblock.c | 33 ++-- 11 files changed, 340 insertions(+), 40 deletions(-) -- 1.8.1.4 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev