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