Commit 56a34d79 authored by Hari Bathini's avatar Hari Bathini Committed by Michael Ellerman
Browse files

kexec/kdump: make struct crash_mem available without CONFIG_CRASH_DUMP



struct crash_mem defined under include/linux/crash_core.h represents
a list of memory ranges. While it is used to represent memory ranges
for kdump kernel, it can also be used for other kind of memory ranges.
In fact, KEXEC_FILE_LOAD syscall in powerpc uses this structure to
represent reserved memory ranges and exclude memory ranges needed to
find the right memory regions to load kexec kernel. So, make the
definition of crash_mem structure available for !CONFIG_CRASH_DUMP
case too.

Signed-off-by: default avatarHari Bathini <hbathini@linux.ibm.com>
Acked-by: default avatarBaoquan He <bhe@redhat.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20240226103010.589537-2-hbathini@linux.ibm.com
parent 78cb0945
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -8,6 +8,12 @@

struct kimage;

struct crash_mem {
	unsigned int max_nr_ranges;
	unsigned int nr_ranges;
	struct range ranges[] __counted_by(max_nr_ranges);
};

#ifdef CONFIG_CRASH_DUMP

int crash_shrink_memory(unsigned long new_size);
@@ -51,12 +57,6 @@ static inline unsigned int crash_get_elfcorehdr_size(void) { return 0; }
/* Alignment required for elf header segment */
#define ELF_CORE_HEADER_ALIGN   4096

struct crash_mem {
	unsigned int max_nr_ranges;
	unsigned int nr_ranges;
	struct range ranges[] __counted_by(max_nr_ranges);
};

extern int crash_exclude_mem_range(struct crash_mem *mem,
				   unsigned long long mstart,
				   unsigned long long mend);