1a4a2eb49SThomas Gleixner #include <linux/init_task.h> 2a4a2eb49SThomas Gleixner #include <linux/export.h> 3a4a2eb49SThomas Gleixner #include <linux/mqueue.h> 4a4a2eb49SThomas Gleixner #include <linux/sched.h> 5cf4aebc2SClark Williams #include <linux/sched/sysctl.h> 68bd75c77SClark Williams #include <linux/sched/rt.h> 7a4a2eb49SThomas Gleixner #include <linux/init.h> 8a4a2eb49SThomas Gleixner #include <linux/fs.h> 9a4a2eb49SThomas Gleixner #include <linux/mm.h> 10a4a2eb49SThomas Gleixner 11a4a2eb49SThomas Gleixner #include <asm/pgtable.h> 12*7c0f6ba6SLinus Torvalds #include <linux/uaccess.h> 13a4a2eb49SThomas Gleixner 14a4a2eb49SThomas Gleixner static struct signal_struct init_signals = INIT_SIGNALS(init_signals); 15a4a2eb49SThomas Gleixner static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); 16a4a2eb49SThomas Gleixner 17a4a2eb49SThomas Gleixner /* Initial task structure */ 18a4a2eb49SThomas Gleixner struct task_struct init_task = INIT_TASK(init_task); 19a4a2eb49SThomas Gleixner EXPORT_SYMBOL(init_task); 20a4a2eb49SThomas Gleixner 21a4a2eb49SThomas Gleixner /* 22a4a2eb49SThomas Gleixner * Initial thread structure. Alignment of this is handled by a special 23a4a2eb49SThomas Gleixner * linker map entry. 24a4a2eb49SThomas Gleixner */ 25c65eacbeSAndy Lutomirski union thread_union init_thread_union __init_task_data = { 26c65eacbeSAndy Lutomirski #ifndef CONFIG_THREAD_INFO_IN_TASK 27c65eacbeSAndy Lutomirski INIT_THREAD_INFO(init_task) 28c65eacbeSAndy Lutomirski #endif 29c65eacbeSAndy Lutomirski }; 30