xref: /linux/arch/powerpc/include/asm/xmon.h (revision 6c6fdbb2b7002aa04e418b5d2b26df1c5ba5ab80)
12874c5fdSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */
2b8b572e1SStephen Rothwell #ifndef __ASM_POWERPC_XMON_H
3b8b572e1SStephen Rothwell #define __ASM_POWERPC_XMON_H
4b8b572e1SStephen Rothwell 
5b8b572e1SStephen Rothwell /*
6b8b572e1SStephen Rothwell  * Copyrignt (C) 2006 IBM Corp
7b8b572e1SStephen Rothwell  */
8b8b572e1SStephen Rothwell 
9b8b572e1SStephen Rothwell #ifdef __KERNEL__
10b8b572e1SStephen Rothwell 
11b8b572e1SStephen Rothwell #include <linux/irqreturn.h>
12b8b572e1SStephen Rothwell 
13b8b572e1SStephen Rothwell #ifdef CONFIG_XMON
14b8b572e1SStephen Rothwell extern void xmon_setup(void);
15b8b572e1SStephen Rothwell extern void xmon_register_spus(struct list_head *list);
16b8b572e1SStephen Rothwell struct pt_regs;
17b8b572e1SStephen Rothwell extern int xmon(struct pt_regs *excp);
18b8b572e1SStephen Rothwell extern irqreturn_t xmon_irq(int, void *);
19b8b572e1SStephen Rothwell #else
20*6c6fdbb2SChengyang Fan static inline void xmon_setup(void) { }
21*6c6fdbb2SChengyang Fan static inline void xmon_register_spus(struct list_head *list) { }
22b8b572e1SStephen Rothwell #endif
23b8b572e1SStephen Rothwell 
24b8b572e1SStephen Rothwell #if defined(CONFIG_XMON) && defined(CONFIG_SMP)
25b8b572e1SStephen Rothwell extern int cpus_are_in_xmon(void);
26b8b572e1SStephen Rothwell #endif
27b8b572e1SStephen Rothwell 
28e70d8f55SMathieu Malaterre extern __printf(1, 2) void xmon_printf(const char *format, ...);
29243e2511SBenjamin Herrenschmidt 
30b8b572e1SStephen Rothwell #endif /* __KERNEL __ */
31b8b572e1SStephen Rothwell #endif /* __ASM_POWERPC_XMON_H */
32