1 #include <linux/mm.h>
2 #include <linux/sched.h>
3 
4 #include <asm/pgtable.h>
5 #include <asm/uaccess.h>
6 #include <asm/processor.h>
7 
8 static struct fs_struct init_fs = INIT_FS;
9 static struct files_struct init_files = INIT_FILES;
10 static struct signal_struct init_signals = INIT_SIGNALS;
11 struct mm_struct init_mm = INIT_MM(init_mm);
12 
13 /* .text section in head.S is aligned at 2 page boundry and this gets linked
14  * right after that so that the init_task_union is aligned properly as well.
15  * We really don't need this special alignment like the Intel does, but
16  * I do it anyways for completeness.
17  */
18 __asm__ (".text");
19 union task_union init_task_union = { INIT_TASK(init_task_union.task) };
20 
21 /*
22  * This is to make the init_task+stack of the right size for >8k pagesize.
23  * The definition of task_union in sched.h makes it 16k wide.
24  */
25 #if PAGE_SHIFT != 13
26 char init_task_stack[THREAD_SIZE - INIT_TASK_SIZE] = { 0 };
27 #endif
28