powerpc/fadump: handle invalidation of crashdump and re-registraion
Make OPAL call to indicate that the dump is processed and the metadata area in OPAL can be cleared/released. Also, setup/initialize FADump for re-registration. Signed-off-by: Hari Bathini <hbathini@linux.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/156821356046.5656.12270927048195494911.stgit@hbathini.in.ibm.com
This commit is contained in:
parent
6071e8f9d5
commit
a4e2e2ca2f
|
@ -1063,7 +1063,13 @@ static void fadump_invalidate_release_mem(void)
|
|||
fadump_release_memory(fw_dump.boot_memory_size, memblock_end_of_DRAM());
|
||||
fadump_free_cpu_notes_buf();
|
||||
|
||||
/* Initialize the kernel dump memory structure for FAD registration. */
|
||||
/*
|
||||
* Setup kernel metadata and initialize the kernel dump
|
||||
* memory structure for FADump re-registration.
|
||||
*/
|
||||
if (fw_dump.ops->fadump_setup_metadata &&
|
||||
(fw_dump.ops->fadump_setup_metadata(&fw_dump) < 0))
|
||||
pr_warn("Failed to setup kernel metadata!\n");
|
||||
fw_dump.ops->fadump_init_mem_struct(&fw_dump);
|
||||
}
|
||||
|
||||
|
|
|
@ -254,7 +254,17 @@ static int opal_fadump_unregister(struct fw_dump *fadump_conf)
|
|||
|
||||
static int opal_fadump_invalidate(struct fw_dump *fadump_conf)
|
||||
{
|
||||
return -EIO;
|
||||
s64 rc;
|
||||
|
||||
rc = opal_mpipl_update(OPAL_MPIPL_FREE_PRESERVED_MEMORY, 0, 0, 0);
|
||||
if (rc) {
|
||||
pr_err("Failed to invalidate - unexpected Error(%lld).\n", rc);
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
fadump_conf->dump_active = 0;
|
||||
opal_fdm_active = NULL;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void opal_fadump_cleanup(struct fw_dump *fadump_conf)
|
||||
|
|
Loading…
Reference in New Issue