init_task.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef _LINUX__INIT_TASK_H
  3. #define _LINUX__INIT_TASK_H
  4. #include <linux/rcupdate.h>
  5. #include <linux/irqflags.h>
  6. #include <linux/utsname.h>
  7. #include <linux/lockdep.h>
  8. #include <linux/ftrace.h>
  9. #include <linux/ipc.h>
  10. #include <linux/pid_namespace.h>
  11. #include <linux/user_namespace.h>
  12. #include <linux/securebits.h>
  13. #include <linux/seqlock.h>
  14. #include <linux/rbtree.h>
  15. #include <linux/refcount.h>
  16. #include <linux/sched/autogroup.h>
  17. #include <net/net_namespace.h>
  18. #include <linux/sched/rt.h>
  19. #include <linux/livepatch.h>
  20. #include <linux/mm_types.h>
  21. #include <asm/thread_info.h>
  22. extern struct files_struct init_files;
  23. extern struct fs_struct init_fs;
  24. extern struct nsproxy init_nsproxy;
  25. extern struct cred init_cred;
  26. #ifndef CONFIG_VIRT_CPU_ACCOUNTING_NATIVE
  27. #define INIT_PREV_CPUTIME(x) .prev_cputime = { \
  28. .lock = __RAW_SPIN_LOCK_UNLOCKED(x.prev_cputime.lock), \
  29. },
  30. #else
  31. #define INIT_PREV_CPUTIME(x)
  32. #endif
  33. #define INIT_TASK_COMM "swapper"
  34. /* Attach to the init_task data structure for proper alignment */
  35. #ifdef CONFIG_ARCH_TASK_STRUCT_ON_STACK
  36. #define __init_task_data __section(".data..init_task")
  37. #else
  38. #define __init_task_data /**/
  39. #endif
  40. /* Attach to the thread_info data structure for proper alignment */
  41. #define __init_thread_info __section(".data..init_thread_info")
  42. #endif