1 /* 2 * This is where we statically allocate and initialize the initial 3 * task. 4 * 5 * Copyright (C) 1999 Hewlett-Packard Co 6 * Copyright (C) 1999 David Mosberger-Tang <davidm@hpl.hp.com> 7 */ 8 9 #include <linux/init.h> 10 #include <linux/mm.h> 11 #include <linux/sched.h> 12 13 #include <asm/uaccess.h> 14 #include <asm/pgtable.h> 15 16 static struct fs_struct init_fs = INIT_FS; 17 static struct files_struct init_files = INIT_FILES; 18 static struct signal_struct init_signals = INIT_SIGNALS; 19 struct mm_struct init_mm = INIT_MM(init_mm); 20 21 /* 22 * Initial task structure. 23 * 24 * We need to make sure that this is page aligned due to the way 25 * process stacks are handled. This is done by having a special 26 * "init_task" linker map entry.. 27 */ 28 union task_union init_task_union 29 __attribute__((section("init_task"))) = 30 { INIT_TASK(init_task_union.task) }; 31