162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
262306a36Sopenharmony_ci#ifndef _ASM_POWERPC_KEXEC_RANGES_H
362306a36Sopenharmony_ci#define _ASM_POWERPC_KEXEC_RANGES_H
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#define MEM_RANGE_CHUNK_SZ		2048	/* Memory ranges size chunk */
662306a36Sopenharmony_ci
762306a36Sopenharmony_civoid sort_memory_ranges(struct crash_mem *mrngs, bool merge);
862306a36Sopenharmony_cistruct crash_mem *realloc_mem_ranges(struct crash_mem **mem_ranges);
962306a36Sopenharmony_ciint add_mem_range(struct crash_mem **mem_ranges, u64 base, u64 size);
1062306a36Sopenharmony_ciint add_tce_mem_ranges(struct crash_mem **mem_ranges);
1162306a36Sopenharmony_ciint add_initrd_mem_range(struct crash_mem **mem_ranges);
1262306a36Sopenharmony_ci#ifdef CONFIG_PPC_64S_HASH_MMU
1362306a36Sopenharmony_ciint add_htab_mem_range(struct crash_mem **mem_ranges);
1462306a36Sopenharmony_ci#else
1562306a36Sopenharmony_cistatic inline int add_htab_mem_range(struct crash_mem **mem_ranges)
1662306a36Sopenharmony_ci{
1762306a36Sopenharmony_ci	return 0;
1862306a36Sopenharmony_ci}
1962306a36Sopenharmony_ci#endif
2062306a36Sopenharmony_ciint add_kernel_mem_range(struct crash_mem **mem_ranges);
2162306a36Sopenharmony_ciint add_rtas_mem_range(struct crash_mem **mem_ranges);
2262306a36Sopenharmony_ciint add_opal_mem_range(struct crash_mem **mem_ranges);
2362306a36Sopenharmony_ciint add_reserved_mem_ranges(struct crash_mem **mem_ranges);
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci#endif /* _ASM_POWERPC_KEXEC_RANGES_H */
26