xref: /openbmc/linux/arch/x86/include/asm/reboot.h (revision b78412b8)
1 #ifndef _ASM_X86_REBOOT_H
2 #define _ASM_X86_REBOOT_H
3 
4 #include <linux/kdebug.h>
5 
6 struct pt_regs;
7 
8 struct machine_ops {
9 	void (*restart)(char *cmd);
10 	void (*halt)(void);
11 	void (*power_off)(void);
12 	void (*shutdown)(void);
13 	void (*crash_shutdown)(struct pt_regs *);
14 	void (*emergency_restart)(void);
15 };
16 
17 extern struct machine_ops machine_ops;
18 extern int crashing_cpu;
19 
20 void native_machine_crash_shutdown(struct pt_regs *regs);
21 void native_machine_shutdown(void);
22 void __noreturn machine_real_restart(unsigned int type);
23 /* These must match dispatch in arch/x86/realmore/rm/reboot.S */
24 #define MRR_BIOS	0
25 #define MRR_APM		1
26 
27 typedef void (*nmi_shootdown_cb)(int, struct pt_regs*);
28 void nmi_shootdown_cpus(nmi_shootdown_cb callback);
29 void run_crash_ipi_callback(struct pt_regs *regs);
30 
31 #endif /* _ASM_X86_REBOOT_H */
32