18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
28c2ecf20Sopenharmony_ci#ifndef _ASM_POWERPC_KEXEC_RANGES_H
38c2ecf20Sopenharmony_ci#define _ASM_POWERPC_KEXEC_RANGES_H
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci#define MEM_RANGE_CHUNK_SZ		2048	/* Memory ranges size chunk */
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_civoid sort_memory_ranges(struct crash_mem *mrngs, bool merge);
88c2ecf20Sopenharmony_cistruct crash_mem *realloc_mem_ranges(struct crash_mem **mem_ranges);
98c2ecf20Sopenharmony_ciint add_mem_range(struct crash_mem **mem_ranges, u64 base, u64 size);
108c2ecf20Sopenharmony_ciint add_tce_mem_ranges(struct crash_mem **mem_ranges);
118c2ecf20Sopenharmony_ciint add_initrd_mem_range(struct crash_mem **mem_ranges);
128c2ecf20Sopenharmony_ci#ifdef CONFIG_PPC_BOOK3S_64
138c2ecf20Sopenharmony_ciint add_htab_mem_range(struct crash_mem **mem_ranges);
148c2ecf20Sopenharmony_ci#else
158c2ecf20Sopenharmony_cistatic inline int add_htab_mem_range(struct crash_mem **mem_ranges)
168c2ecf20Sopenharmony_ci{
178c2ecf20Sopenharmony_ci	return 0;
188c2ecf20Sopenharmony_ci}
198c2ecf20Sopenharmony_ci#endif
208c2ecf20Sopenharmony_ciint add_kernel_mem_range(struct crash_mem **mem_ranges);
218c2ecf20Sopenharmony_ciint add_rtas_mem_range(struct crash_mem **mem_ranges);
228c2ecf20Sopenharmony_ciint add_opal_mem_range(struct crash_mem **mem_ranges);
238c2ecf20Sopenharmony_ciint add_reserved_mem_ranges(struct crash_mem **mem_ranges);
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci#endif /* _ASM_POWERPC_KEXEC_RANGES_H */
26