1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #ifndef _ASM_NMI_H 3*4882a593Smuzhiyun #define _ASM_NMI_H 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #ifdef CONFIG_PPC_WATCHDOG 6*4882a593Smuzhiyun extern void arch_touch_nmi_watchdog(void); 7*4882a593Smuzhiyun #else arch_touch_nmi_watchdog(void)8*4882a593Smuzhiyunstatic inline void arch_touch_nmi_watchdog(void) {} 9*4882a593Smuzhiyun #endif 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun #if defined(CONFIG_NMI_IPI) && defined(CONFIG_STACKTRACE) 12*4882a593Smuzhiyun extern void arch_trigger_cpumask_backtrace(const cpumask_t *mask, 13*4882a593Smuzhiyun bool exclude_self); 14*4882a593Smuzhiyun #define arch_trigger_cpumask_backtrace arch_trigger_cpumask_backtrace 15*4882a593Smuzhiyun #endif 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun extern void hv_nmi_check_nonrecoverable(struct pt_regs *regs); 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun #endif /* _ASM_NMI_H */ 20