xref: /openbmc/linux/arch/x86/include/asm/reboot.h (revision bc5aa3a0)
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 
19 void native_machine_crash_shutdown(struct pt_regs *regs);
20 void native_machine_shutdown(void);
21 void __noreturn machine_real_restart(unsigned int type);
22 /* These must match dispatch in arch/x86/realmore/rm/reboot.S */
23 #define MRR_BIOS	0
24 #define MRR_APM		1
25 
26 typedef void (*nmi_shootdown_cb)(int, struct pt_regs*);
27 void nmi_shootdown_cpus(nmi_shootdown_cb callback);
28 void run_crash_ipi_callback(struct pt_regs *regs);
29 
30 #endif /* _ASM_X86_REBOOT_H */
31