mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
[S390] Add architecture code for unmapping crashkernel memory
This patch implements the crash_map_pages() function for s390. KEXEC_CRASH_MEM_ALIGN is set to HPAGE_SIZE, in order to support kernel mappings that use large pages. We also use HPAGE_SIZE alignment for CONFIG_HUGETLB_PAGE=n in order to have the same 1 MiB alignment on all s390 systems. Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
558df7209e
commit
dab7a7b153
3 changed files with 40 additions and 4 deletions
|
@ -132,6 +132,37 @@ static int kdump_csum_valid(struct kimage *image)
|
|||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
* Map or unmap crashkernel memory
|
||||
*/
|
||||
static void crash_map_pages(int enable)
|
||||
{
|
||||
unsigned long size = resource_size(&crashk_res);
|
||||
|
||||
BUG_ON(crashk_res.start % KEXEC_CRASH_MEM_ALIGN ||
|
||||
size % KEXEC_CRASH_MEM_ALIGN);
|
||||
if (enable)
|
||||
vmem_add_mapping(crashk_res.start, size);
|
||||
else
|
||||
vmem_remove_mapping(crashk_res.start, size);
|
||||
}
|
||||
|
||||
/*
|
||||
* Map crashkernel memory
|
||||
*/
|
||||
void crash_map_reserved_pages(void)
|
||||
{
|
||||
crash_map_pages(1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Unmap crashkernel memory
|
||||
*/
|
||||
void crash_unmap_reserved_pages(void)
|
||||
{
|
||||
crash_map_pages(0);
|
||||
}
|
||||
|
||||
/*
|
||||
* Give back memory to hypervisor before new kdump is loaded
|
||||
*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue