mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
bec53196ad
Add a new kernel config option, CONFIG_PRESERVE_FA_DUMP that ensures that crash data, from previously crash'ed kernel, is preserved. This helps in cases where FADump is not enabled but the subsequent memory preserving kernel boot is likely to process this crash data. One typical usecase for this config option is petitboot kernel. As OPAL allows registering address with it in the first kernel and retrieving it after MPIPL, use it to store the top of boot memory. A kernel that intends to preserve crash data retrieves it and avoids using memory beyond this address. Move arch_reserved_kernel_pages() function as it is needed for both FA_DUMP and PRESERVE_FA_DUMP configurations. Signed-off-by: Hari Bathini <hbathini@linux.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/156821375751.5656.11459483669542541602.stgit@hbathini.in.ibm.com
36 lines
1.1 KiB
C
36 lines
1.1 KiB
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* Firmware Assisted dump header file.
|
|
*
|
|
* Copyright 2011 IBM Corporation
|
|
* Author: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
|
|
*/
|
|
|
|
#ifndef _ASM_POWERPC_FADUMP_H
|
|
#define _ASM_POWERPC_FADUMP_H
|
|
|
|
#ifdef CONFIG_FA_DUMP
|
|
|
|
extern int crashing_cpu;
|
|
|
|
extern int is_fadump_memory_area(u64 addr, ulong size);
|
|
extern int setup_fadump(void);
|
|
extern int is_fadump_active(void);
|
|
extern int should_fadump_crash(void);
|
|
extern void crash_fadump(struct pt_regs *, const char *);
|
|
extern void fadump_cleanup(void);
|
|
|
|
#else /* CONFIG_FA_DUMP */
|
|
static inline int is_fadump_active(void) { return 0; }
|
|
static inline int should_fadump_crash(void) { return 0; }
|
|
static inline void crash_fadump(struct pt_regs *regs, const char *str) { }
|
|
static inline void fadump_cleanup(void) { }
|
|
#endif /* !CONFIG_FA_DUMP */
|
|
|
|
#if defined(CONFIG_FA_DUMP) || defined(CONFIG_PRESERVE_FA_DUMP)
|
|
extern int early_init_dt_scan_fw_dump(unsigned long node, const char *uname,
|
|
int depth, void *data);
|
|
extern int fadump_reserve_mem(void);
|
|
#endif
|
|
#endif /* _ASM_POWERPC_FADUMP_H */
|