blob: 38d87379e270596635ff569242c54ff71ad3ce69 [file] [log] [blame]
H. Peter Anvin1965aae2008-10-22 22:26:29 -07001#ifndef _ASM_X86_IDLE_H
2#define _ASM_X86_IDLE_H
Andi Kleen95833c82006-01-11 22:44:36 +01003
4#define IDLE_START 1
5#define IDLE_END 2
6
7struct notifier_block;
8void idle_notifier_register(struct notifier_block *n);
Linus Torvalds5b346532008-10-23 10:22:01 -07009void idle_notifier_unregister(struct notifier_block *n);
Andi Kleen95833c82006-01-11 22:44:36 +010010
Hiroshi Shimamoto8f2466f2008-12-08 19:19:07 -080011#ifdef CONFIG_X86_64
Andi Kleen95833c82006-01-11 22:44:36 +010012void enter_idle(void);
13void exit_idle(void);
Hiroshi Shimamoto8f2466f2008-12-08 19:19:07 -080014#else /* !CONFIG_X86_64 */
15static inline void enter_idle(void) { }
16static inline void exit_idle(void) { }
17#endif /* CONFIG_X86_64 */
Andi Kleen95833c82006-01-11 22:44:36 +010018
Thomas Gleixner4faac972008-09-22 18:54:29 +020019void c1e_remove_cpu(int cpu);
20
H. Peter Anvin1965aae2008-10-22 22:26:29 -070021#endif /* _ASM_X86_IDLE_H */