]>
Commit | Line | Data |
---|---|---|
85bc8ca6 JW |
1 | #ifndef SMI_H |
2 | #define SMI_H | |
3 | ||
4 | extern void smi_disable(); /* akin to cli / sti */ | |
5 | extern void smi_enable(); | |
6 | ||
7 | extern void smi_poll(); | |
8 | extern unsigned long smi_status(); /* Architecturally defined; for debugging only. */ | |
9 | ||
07d1dd26 JW |
10 | typedef enum { |
11 | SMI_EVENT_FAST_TIMER = 0, | |
8a677ebb | 12 | SMI_EVENT_DEVTRAP_KBC, |
73fb9b4c | 13 | SMI_EVENT_GBL_RLS, |
07d1dd26 JW |
14 | SMI_EVENT_MAX |
15 | } smi_event_t; | |
16 | ||
17 | ||
18 | typedef void (*smi_handler_t)(smi_event_t); | |
19 | ||
20 | #define SMI_HANDLER_NONE ((smi_handler_t)0) | |
21 | #define SMI_HANDLER_IGNORE ((smi_handler_t)-1) | |
22 | ||
23 | extern int smi_register_handler(smi_event_t ev, smi_handler_t hnd); | |
24 | extern int smi_enable_event(smi_event_t ev); | |
25 | extern int smi_disable_event(smi_event_t ev); | |
26 | ||
85bc8ca6 | 27 | #endif |