1 #ifndef __I386_WATCHDOG_H__
2 #define __I386_WATCHDOG_H__
3 
4 #include "kernel/kernel.h"
5 
6 struct nmi_frame {
7 	reg_t	eax;
8 	reg_t	ecx;
9 	reg_t	edx;
10 	reg_t	ebx;
11 	reg_t	esp;
12 	reg_t	ebp;
13 	reg_t	esi;
14 	reg_t	edi;
15 	u16_t	gs;
16 	u16_t	fs;
17 	u16_t	es;
18 	u16_t	ds;
19 	reg_t	pc;	/* arch independent name for program counter */
20 	reg_t	cs;
21 	reg_t	eflags;
22 };
23 
24 int i386_watchdog_start(void);
25 
26 #define nmi_in_kernel(f)	((f)->cs == KERN_CS_SELECTOR)
27 
28 #endif /* __I386_WATCHDOG_H__ */
29