mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-22 05:44:31 +08:00
s390/kexec: fix update of os_info crash kernel size
Implement an s390 version of the weak crash_free_reserved_phys_range
function. This allows us to update the size of the reserved crash
kernel memory if it will be resized.
This was previously done with a call to crash_unmap_reserved_pages
from crash_shrink_memory which was removed with ("s390/kexec:
consolidate crash_map/unmap_reserved_pages() and
arch_kexec_protect(unprotect)_crashkres()")
Fixes: 7a0058ec78
("s390/kexec: consolidate crash_map/unmap_reserved_pages() and arch_kexec_protect(unprotect)_crashkres()")
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
0ccb32c983
commit
2d0af22479
@ -150,6 +150,19 @@ static int kdump_csum_valid(struct kimage *image)
|
||||
|
||||
#ifdef CONFIG_CRASH_DUMP
|
||||
|
||||
void crash_free_reserved_phys_range(unsigned long begin, unsigned long end)
|
||||
{
|
||||
unsigned long addr, size;
|
||||
|
||||
for (addr = begin; addr < end; addr += PAGE_SIZE)
|
||||
free_reserved_page(pfn_to_page(addr >> PAGE_SHIFT));
|
||||
size = begin - crashk_res.start;
|
||||
if (size)
|
||||
os_info_crashkernel_add(crashk_res.start, size);
|
||||
else
|
||||
os_info_crashkernel_add(0, 0);
|
||||
}
|
||||
|
||||
/*
|
||||
* Map or unmap crashkernel memory
|
||||
*/
|
||||
@ -161,13 +174,8 @@ static void crash_map_pages(int enable)
|
||||
size % KEXEC_CRASH_MEM_ALIGN);
|
||||
if (enable)
|
||||
vmem_add_mapping(crashk_res.start, size);
|
||||
else {
|
||||
vmem_remove_mapping(crashk_res.start, size);
|
||||
if (size)
|
||||
os_info_crashkernel_add(crashk_res.start, size);
|
||||
else
|
||||
os_info_crashkernel_add(0, 0);
|
||||
}
|
||||
vmem_remove_mapping(crashk_res.start, size);
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user