When crashkernel is reserved above 4G in memory, kernel should reserve some amount of low memory for swiotlb and some DMA buffers. So there may be two crash kernel regions, one is below 4G, the other is above 4G. Crash dump kernel reads more than one crash kernel regions via a dtb property under node /chosen, linux,usable-memory-range = <BASE1 SIZE1 [BASE2 SIZE2]>. Besides, we need to modify kexec-tools: arm64: support more than one crash kernel regions Chen Zhou (3): arm64: kdump: support reserving crashkernel above 4G arm64: kdump: support more than one crash kernel regions kdump: update Documentation about crashkernel on arm64 Documentation/admin-guide/kernel-parameters.txt | 4 +- arch/arm64/kernel/setup.c | 3 + arch/arm64/mm/init.c | 108 ++++++++++++++++++++---- include/linux/memblock.h | 1 + mm/memblock.c | 40 +++++++++ 5 files changed, 139 insertions(+), 17 deletions(-) -- 2.7.4