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