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