mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
b8e55a3e5c
crashkernel region could have an overlap with special memory regions like OPAL, RTAS, TCE table & such. These regions are referred to as excluded memory ranges. Setup these ranges during image probe in order to avoid them while finding the buffer for different kdump segments. Override arch_kexec_locate_mem_hole() to locate a memory hole taking these ranges into account. Signed-off-by: Hari Bathini <hbathini@linux.ibm.com> Reviewed-by: Thiago Jung Bauermann <bauerman@linux.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/159602281047.575379.6636807148335160795.stgit@hbathini
26 lines
943 B
C
26 lines
943 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
#ifndef _ASM_POWERPC_KEXEC_RANGES_H
|
|
#define _ASM_POWERPC_KEXEC_RANGES_H
|
|
|
|
#define MEM_RANGE_CHUNK_SZ 2048 /* Memory ranges size chunk */
|
|
|
|
void sort_memory_ranges(struct crash_mem *mrngs, bool merge);
|
|
struct crash_mem *realloc_mem_ranges(struct crash_mem **mem_ranges);
|
|
int add_mem_range(struct crash_mem **mem_ranges, u64 base, u64 size);
|
|
int add_tce_mem_ranges(struct crash_mem **mem_ranges);
|
|
int add_initrd_mem_range(struct crash_mem **mem_ranges);
|
|
#ifdef CONFIG_PPC_BOOK3S_64
|
|
int add_htab_mem_range(struct crash_mem **mem_ranges);
|
|
#else
|
|
static inline int add_htab_mem_range(struct crash_mem **mem_ranges)
|
|
{
|
|
return 0;
|
|
}
|
|
#endif
|
|
int add_kernel_mem_range(struct crash_mem **mem_ranges);
|
|
int add_rtas_mem_range(struct crash_mem **mem_ranges);
|
|
int add_opal_mem_range(struct crash_mem **mem_ranges);
|
|
int add_reserved_mem_ranges(struct crash_mem **mem_ranges);
|
|
|
|
#endif /* _ASM_POWERPC_KEXEC_RANGES_H */
|