GNU Linux-libre 4.9.333-gnu1
[releases.git] / arch / x86 / include / asm / reboot.h
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 */