aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
Diffstat (limited to 'init')
-rw-r--r--init/Makefile4
-rw-r--r--init/init_task.c24
2 files changed, 28 insertions, 0 deletions
diff --git a/init/Makefile b/init/Makefile
index 0bf677aa0872..7bc47ee31c36 100644
--- a/init/Makefile
+++ b/init/Makefile
@@ -10,6 +10,10 @@ obj-$(CONFIG_BLK_DEV_INITRD) += initramfs.o
10endif 10endif
11obj-$(CONFIG_GENERIC_CALIBRATE_DELAY) += calibrate.o 11obj-$(CONFIG_GENERIC_CALIBRATE_DELAY) += calibrate.o
12 12
13ifneq ($(CONFIG_ARCH_INIT_TASK),y)
14obj-y += init_task.o
15endif
16
13mounts-y := do_mounts.o 17mounts-y := do_mounts.o
14mounts-$(CONFIG_BLK_DEV_RAM) += do_mounts_rd.o 18mounts-$(CONFIG_BLK_DEV_RAM) += do_mounts_rd.o
15mounts-$(CONFIG_BLK_DEV_INITRD) += do_mounts_initrd.o 19mounts-$(CONFIG_BLK_DEV_INITRD) += do_mounts_initrd.o
diff --git a/init/init_task.c b/init/init_task.c
new file mode 100644
index 000000000000..8b2f3996b035
--- /dev/null
+++ b/init/init_task.c
@@ -0,0 +1,24 @@
1#include <linux/init_task.h>
2#include <linux/export.h>
3#include <linux/mqueue.h>
4#include <linux/sched.h>
5#include <linux/init.h>
6#include <linux/fs.h>
7#include <linux/mm.h>
8
9#include <asm/pgtable.h>
10#include <asm/uaccess.h>
11
12static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
13static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
14
15/* Initial task structure */
16struct task_struct init_task = INIT_TASK(init_task);
17EXPORT_SYMBOL(init_task);
18
19/*
20 * Initial thread structure. Alignment of this is handled by a special
21 * linker map entry.
22 */
23union thread_union init_thread_union __init_task_data =
24 { INIT_THREAD_INFO(init_task) };