1/* SPDX-License-Identifier: GPL-2.0-only */
2#ifndef _ASM_POWERPC_KEXEC_RANGES_H
3#define _ASM_POWERPC_KEXEC_RANGES_H
4
5#define MEM_RANGE_CHUNK_SZ		2048	/* Memory ranges size chunk */
6
7void sort_memory_ranges(struct crash_mem *mrngs, bool merge);
8struct crash_mem *realloc_mem_ranges(struct crash_mem **mem_ranges);
9int add_mem_range(struct crash_mem **mem_ranges, u64 base, u64 size);
10int add_tce_mem_ranges(struct crash_mem **mem_ranges);
11int add_initrd_mem_range(struct crash_mem **mem_ranges);
12#ifdef CONFIG_PPC_64S_HASH_MMU
13int add_htab_mem_range(struct crash_mem **mem_ranges);
14#else
15static inline int add_htab_mem_range(struct crash_mem **mem_ranges)
16{
17	return 0;
18}
19#endif
20int add_kernel_mem_range(struct crash_mem **mem_ranges);
21int add_rtas_mem_range(struct crash_mem **mem_ranges);
22int add_opal_mem_range(struct crash_mem **mem_ranges);
23int add_reserved_mem_ranges(struct crash_mem **mem_ranges);
24
25#endif /* _ASM_POWERPC_KEXEC_RANGES_H */
26