blob: b99b014c07a6214f3b123902a01652f0215c7c48 [file] [log] [blame]
Thomas Gleixner33d588d2012-04-20 13:05:44 +00001#ifndef SMPBOOT_H
2#define SMPBOOT_H
3
Thomas Gleixnerc5989bd2012-04-20 13:05:45 +00004struct task_struct;
5
Thomas Gleixner33d588d2012-04-20 13:05:44 +00006int smpboot_prepare(unsigned int cpu);
7
Thomas Gleixnerc5989bd2012-04-20 13:05:45 +00008#ifdef CONFIG_GENERIC_SMP_IDLE_THREAD
9struct task_struct *idle_thread_get(unsigned int cpu);
10void idle_thread_set_boot_cpu(void);
Suresh Siddhaad6a2c72012-04-20 17:08:50 -070011void idle_threads_init(void);
Thomas Gleixnerc5989bd2012-04-20 13:05:45 +000012#else
13static inline struct task_struct *idle_thread_get(unsigned int cpu) { return NULL; }
14static inline void idle_thread_set_boot_cpu(void) { }
Suresh Siddhaad6a2c72012-04-20 17:08:50 -070015static inline void idle_threads_init(unsigned int cpu) { }
Thomas Gleixnerc5989bd2012-04-20 13:05:45 +000016#endif
17
Thomas Gleixnera63b4cc2012-07-16 10:42:36 +000018int smpboot_create_threads(unsigned int cpu);
19void smpboot_park_threads(unsigned int cpu);
20void smpboot_unpark_threads(unsigned int cpu);
21
Thomas Gleixner33d588d2012-04-20 13:05:44 +000022#endif