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