xref: /linux/arch/powerpc/include/asm/fadump.h (revision 7f71507851fc7764b36a3221839607d3a45c2025)
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * Firmware Assisted dump header file.
4  *
5  * Copyright 2011 IBM Corporation
6  * Author: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
7  */
8 
9 #ifndef _ASM_POWERPC_FADUMP_H
10 #define _ASM_POWERPC_FADUMP_H
11 
12 #ifdef CONFIG_FA_DUMP
13 
14 extern int crashing_cpu;
15 
16 extern int is_fadump_memory_area(u64 addr, ulong size);
17 extern int setup_fadump(void);
18 extern int is_fadump_active(void);
19 extern int should_fadump_crash(void);
20 extern void crash_fadump(struct pt_regs *, const char *);
21 extern void fadump_cleanup(void);
22 void fadump_setup_param_area(void);
23 extern void fadump_append_bootargs(void);
24 
25 #else	/* CONFIG_FA_DUMP */
26 static inline int is_fadump_active(void) { return 0; }
27 static inline int should_fadump_crash(void) { return 0; }
28 static inline void crash_fadump(struct pt_regs *regs, const char *str) { }
29 static inline void fadump_cleanup(void) { }
30 static inline void fadump_setup_param_area(void) { }
31 static inline void fadump_append_bootargs(void) { }
32 #endif /* !CONFIG_FA_DUMP */
33 
34 #if defined(CONFIG_FA_DUMP) || defined(CONFIG_PRESERVE_FA_DUMP)
35 extern int early_init_dt_scan_fw_dump(unsigned long node, const char *uname,
36 				      int depth, void *data);
37 extern int fadump_reserve_mem(void);
38 #endif
39 
40 #if defined(CONFIG_FA_DUMP) && defined(CONFIG_CMA)
41 void fadump_cma_init(void);
42 #else
43 static inline void fadump_cma_init(void) { }
44 #endif
45 
46 #endif /* _ASM_POWERPC_FADUMP_H */
47