Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * arch/v850/kernel/init_task.c -- Initial task/thread structures | |
3 | * | |
4 | * Copyright (C) 2002,03 NEC Electronics Corporation | |
5 | * Copyright (C) 2002,03 Miles Bader <miles@gnu.org> | |
6 | * | |
7 | * This file is subject to the terms and conditions of the GNU General | |
8 | * Public License. See the file COPYING in the main directory of this | |
9 | * archive for more details. | |
10 | */ | |
11 | ||
12 | #include <linux/mm.h> | |
13 | #include <linux/module.h> | |
14 | #include <linux/sched.h> | |
15 | #include <linux/init.h> | |
16 | #include <linux/init_task.h> | |
17 | #include <linux/fs.h> | |
18 | #include <linux/mqueue.h> | |
ab516013 | 19 | #include <linux/nsproxy.h> |
1da177e4 LT |
20 | |
21 | #include <asm/uaccess.h> | |
22 | #include <asm/pgtable.h> | |
23 | ||
24 | static struct fs_struct init_fs = INIT_FS; | |
25 | static struct files_struct init_files = INIT_FILES; | |
26 | static struct signal_struct init_signals = INIT_SIGNALS (init_signals); | |
27 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | |
28 | struct mm_struct init_mm = INIT_MM (init_mm); | |
ab516013 | 29 | struct nsproxy init_nsproxy = INIT_NSPROXY(init_nsproxy); |
1da177e4 LT |
30 | |
31 | EXPORT_SYMBOL(init_mm); | |
32 | ||
33 | /* | |
34 | * Initial task structure. | |
35 | * | |
36 | * All other task structs will be allocated on slabs in fork.c | |
37 | */ | |
38 | struct task_struct init_task = INIT_TASK (init_task); | |
39 | ||
40 | EXPORT_SYMBOL(init_task); | |
41 | ||
42 | /* | |
43 | * Initial thread structure. | |
44 | * | |
45 | * We need to make sure that this is 8192-byte aligned due to the | |
46 | * way process stacks are handled. This is done by having a special | |
47 | * "init_task" linker map entry. | |
48 | */ | |
49 | union thread_union init_thread_union | |
50 | __attribute__((__section__(".data.init_task"))) = | |
51 | { INIT_THREAD_INFO(init_task) }; |