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