xref: /openbmc/linux/arch/powerpc/include/asm/fadump.h (revision ecc23d0a422a3118fcf6e4f0a46e17a6c2047b02)
11a59d1b8SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */
2eb39c880SMahesh Salgaonkar /*
3eb39c880SMahesh Salgaonkar  * Firmware Assisted dump header file.
4eb39c880SMahesh Salgaonkar  *
5eb39c880SMahesh Salgaonkar  * Copyright 2011 IBM Corporation
6eb39c880SMahesh Salgaonkar  * Author: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
7eb39c880SMahesh Salgaonkar  */
8eb39c880SMahesh Salgaonkar 
90226e552SHari Bathini #ifndef _ASM_POWERPC_FADUMP_H
100226e552SHari Bathini #define _ASM_POWERPC_FADUMP_H
11eb39c880SMahesh Salgaonkar 
12eb39c880SMahesh Salgaonkar #ifdef CONFIG_FA_DUMP
13eb39c880SMahesh Salgaonkar 
1422bd0177SHari Bathini extern int crashing_cpu;
1522bd0177SHari Bathini 
160db6896fSMahesh Salgaonkar extern int is_fadump_memory_area(u64 addr, ulong size);
173ccc00a7SMahesh Salgaonkar extern int setup_fadump(void);
183ccc00a7SMahesh Salgaonkar extern int is_fadump_active(void);
196fcd6baaSNicholas Piggin extern int should_fadump_crash(void);
20ebaeb5aeSMahesh Salgaonkar extern void crash_fadump(struct pt_regs *, const char *);
21b500afffSMahesh Salgaonkar extern void fadump_cleanup(void);
22b500afffSMahesh Salgaonkar 
233ccc00a7SMahesh Salgaonkar #else	/* CONFIG_FA_DUMP */
is_fadump_active(void)243ccc00a7SMahesh Salgaonkar static inline int is_fadump_active(void) { return 0; }
should_fadump_crash(void)256fcd6baaSNicholas Piggin static inline int should_fadump_crash(void) { return 0; }
crash_fadump(struct pt_regs * regs,const char * str)26ebaeb5aeSMahesh Salgaonkar static inline void crash_fadump(struct pt_regs *regs, const char *str) { }
fadump_cleanup(void)279c1d38b3SChristophe Leroy static inline void fadump_cleanup(void) { }
280226e552SHari Bathini #endif /* !CONFIG_FA_DUMP */
29bec53196SHari Bathini 
30bec53196SHari Bathini #if defined(CONFIG_FA_DUMP) || defined(CONFIG_PRESERVE_FA_DUMP)
31bec53196SHari Bathini extern int early_init_dt_scan_fw_dump(unsigned long node, const char *uname,
32bec53196SHari Bathini 				      int depth, void *data);
33bec53196SHari Bathini extern int fadump_reserve_mem(void);
34bec53196SHari Bathini #endif
35*c5c1d1efSRitesh Harjani (IBM) 
36*c5c1d1efSRitesh Harjani (IBM) #if defined(CONFIG_FA_DUMP) && defined(CONFIG_CMA)
37*c5c1d1efSRitesh Harjani (IBM) void fadump_cma_init(void);
38*c5c1d1efSRitesh Harjani (IBM) #else
fadump_cma_init(void)39*c5c1d1efSRitesh Harjani (IBM) static inline void fadump_cma_init(void) { }
40*c5c1d1efSRitesh Harjani (IBM) #endif
41*c5c1d1efSRitesh Harjani (IBM) 
420226e552SHari Bathini #endif /* _ASM_POWERPC_FADUMP_H */
43