blob: 72415a0eb955cd84130d2753c7704e8af7f30960 [file] [log] [blame]
Thomas Gleixner38498a62012-04-20 13:05:44 +00001#ifndef SMPBOOT_H
2#define SMPBOOT_H
3
Thomas Gleixner29d5e042012-04-20 13:05:45 +00004struct task_struct;
5
Thomas Gleixner29d5e042012-04-20 13:05:45 +00006#ifdef CONFIG_GENERIC_SMP_IDLE_THREAD
7struct task_struct *idle_thread_get(unsigned int cpu);
8void idle_thread_set_boot_cpu(void);
Suresh Siddha3bb5d2e2012-04-20 17:08:50 -07009void idle_threads_init(void);
Thomas Gleixner29d5e042012-04-20 13:05:45 +000010#else
11static inline struct task_struct *idle_thread_get(unsigned int cpu) { return NULL; }
12static inline void idle_thread_set_boot_cpu(void) { }
Thomas Gleixner43a18b12012-05-04 12:52:25 +020013static inline void idle_threads_init(void) { }
Thomas Gleixner29d5e042012-04-20 13:05:45 +000014#endif
15
Thomas Gleixnerf97f8f02012-07-16 10:42:36 +000016int smpboot_create_threads(unsigned int cpu);
17void smpboot_park_threads(unsigned int cpu);
18void smpboot_unpark_threads(unsigned int cpu);
19
Thomas Gleixner38498a62012-04-20 13:05:44 +000020#endif