1#ifndef _ASM_X86_REBOOT_H
2#define _ASM_X86_REBOOT_H
3
4#include <linux/kdebug.h>
5
6struct pt_regs;
7
8struct 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
17extern struct machine_ops machine_ops;
18
19void native_machine_crash_shutdown(struct pt_regs *regs);
20void native_machine_shutdown(void);
21void __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
26typedef void (*nmi_shootdown_cb)(int, struct pt_regs*);
27void nmi_shootdown_cpus(nmi_shootdown_cb callback);
28
29#endif /* _ASM_X86_REBOOT_H */
30