mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 04:38:03 +00:00
s390, crash: wrap crash dumping code into crash related ifdefs
Now crash codes under kernel/ folder has been split out from kexec code, crash dumping can be separated from kexec reboot in config items on s390 with some adjustments. Here wrap up crash dumping codes with CONFIG_CRASH_DUMP ifdeffery. Link: https://lkml.kernel.org/r/20240124051254.67105-10-bhe@redhat.com Signed-off-by: Baoquan He <bhe@redhat.com> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: Eric W. Biederman <ebiederm@xmission.com> Cc: Hari Bathini <hbathini@linux.ibm.com> Cc: Pingfan Liu <piliu@redhat.com> Cc: Klara Modin <klarasmodin@gmail.com> Cc: Michael Kelley <mhklinux@outlook.com> Cc: Nathan Chancellor <nathan@kernel.org> Cc: Stephen Rothwell <sfr@canb.auug.org.au> Cc: Yang Li <yang.lee@linux.alibaba.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
086d67ef33
commit
865e2acd3e
@ -40,8 +40,10 @@ static int kexec_file_add_kernel_elf(struct kimage *image,
|
||||
buf.bufsz = phdr->p_filesz;
|
||||
|
||||
buf.mem = ALIGN(phdr->p_paddr, phdr->p_align);
|
||||
#ifdef CONFIG_CRASH_DUMP
|
||||
if (image->type == KEXEC_TYPE_CRASH)
|
||||
buf.mem += crashk_res.start;
|
||||
#endif
|
||||
buf.memsz = phdr->p_memsz;
|
||||
data->memsz = ALIGN(data->memsz, phdr->p_align) + buf.memsz;
|
||||
|
||||
|
@ -24,8 +24,10 @@ static int kexec_file_add_kernel_image(struct kimage *image,
|
||||
buf.bufsz = image->kernel_buf_len;
|
||||
|
||||
buf.mem = 0;
|
||||
#ifdef CONFIG_CRASH_DUMP
|
||||
if (image->type == KEXEC_TYPE_CRASH)
|
||||
buf.mem += crashk_res.start;
|
||||
#endif
|
||||
buf.memsz = buf.bufsz;
|
||||
|
||||
data->kernel_buf = image->kernel_buf;
|
||||
|
@ -105,6 +105,7 @@ static int kexec_file_update_purgatory(struct kimage *image,
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
#ifdef CONFIG_CRASH_DUMP
|
||||
if (image->type == KEXEC_TYPE_CRASH) {
|
||||
u64 crash_size;
|
||||
|
||||
@ -121,6 +122,7 @@ static int kexec_file_update_purgatory(struct kimage *image,
|
||||
sizeof(crash_size),
|
||||
false);
|
||||
}
|
||||
#endif
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -134,8 +136,10 @@ static int kexec_file_add_purgatory(struct kimage *image,
|
||||
|
||||
data->memsz = ALIGN(data->memsz, PAGE_SIZE);
|
||||
buf.mem = data->memsz;
|
||||
#ifdef CONFIG_CRASH_DUMP
|
||||
if (image->type == KEXEC_TYPE_CRASH)
|
||||
buf.mem += crashk_res.start;
|
||||
#endif
|
||||
|
||||
ret = kexec_load_purgatory(image, &buf);
|
||||
if (ret)
|
||||
@ -158,8 +162,10 @@ static int kexec_file_add_initrd(struct kimage *image,
|
||||
|
||||
data->memsz = ALIGN(data->memsz, PAGE_SIZE);
|
||||
buf.mem = data->memsz;
|
||||
#ifdef CONFIG_CRASH_DUMP
|
||||
if (image->type == KEXEC_TYPE_CRASH)
|
||||
buf.mem += crashk_res.start;
|
||||
#endif
|
||||
buf.memsz = buf.bufsz;
|
||||
|
||||
data->parm->initrd_start = data->memsz;
|
||||
@ -223,8 +229,10 @@ static int kexec_file_add_ipl_report(struct kimage *image,
|
||||
data->kernel_buf + offsetof(struct lowcore, ipl_parmblock_ptr);
|
||||
*lc_ipl_parmblock_ptr = (__u32)buf.mem;
|
||||
|
||||
#ifdef CONFIG_CRASH_DUMP
|
||||
if (image->type == KEXEC_TYPE_CRASH)
|
||||
buf.mem += crashk_res.start;
|
||||
#endif
|
||||
|
||||
ret = kexec_add_buffer(&buf);
|
||||
out:
|
||||
@ -268,10 +276,12 @@ void *kexec_file_add_components(struct kimage *image,
|
||||
memcpy(data.parm->command_line, image->cmdline_buf,
|
||||
image->cmdline_buf_len);
|
||||
|
||||
#ifdef CONFIG_CRASH_DUMP
|
||||
if (image->type == KEXEC_TYPE_CRASH) {
|
||||
data.parm->oldmem_base = crashk_res.start;
|
||||
data.parm->oldmem_size = crashk_res.end - crashk_res.start + 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (image->initrd_buf) {
|
||||
ret = kexec_file_add_initrd(image, &data);
|
||||
|
Loading…
Reference in New Issue
Block a user