Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef _LINUX__INIT_TASK_H
0003 #define _LINUX__INIT_TASK_H
0004 
0005 #include <linux/rcupdate.h>
0006 #include <linux/irqflags.h>
0007 #include <linux/utsname.h>
0008 #include <linux/lockdep.h>
0009 #include <linux/ftrace.h>
0010 #include <linux/ipc.h>
0011 #include <linux/pid_namespace.h>
0012 #include <linux/user_namespace.h>
0013 #include <linux/securebits.h>
0014 #include <linux/seqlock.h>
0015 #include <linux/rbtree.h>
0016 #include <linux/refcount.h>
0017 #include <linux/sched/autogroup.h>
0018 #include <net/net_namespace.h>
0019 #include <linux/sched/rt.h>
0020 #include <linux/livepatch.h>
0021 #include <linux/mm_types.h>
0022 
0023 #include <asm/thread_info.h>
0024 
0025 extern struct files_struct init_files;
0026 extern struct fs_struct init_fs;
0027 extern struct nsproxy init_nsproxy;
0028 extern struct cred init_cred;
0029 
0030 #ifndef CONFIG_VIRT_CPU_ACCOUNTING_NATIVE
0031 #define INIT_PREV_CPUTIME(x)    .prev_cputime = {           \
0032     .lock = __RAW_SPIN_LOCK_UNLOCKED(x.prev_cputime.lock),      \
0033 },
0034 #else
0035 #define INIT_PREV_CPUTIME(x)
0036 #endif
0037 
0038 #define INIT_TASK_COMM "swapper"
0039 
0040 /* Attach to the init_task data structure for proper alignment */
0041 #ifdef CONFIG_ARCH_TASK_STRUCT_ON_STACK
0042 #define __init_task_data __section(".data..init_task")
0043 #else
0044 #define __init_task_data /**/
0045 #endif
0046 
0047 /* Attach to the thread_info data structure for proper alignment */
0048 #define __init_thread_info __section(".data..init_thread_info")
0049 
0050 #endif