blob: ca534082d5f317566e5958c3337321852e1c72ca [file] [log] [blame]
Jonas Bonn9d02a422011-06-04 11:05:39 +03001/*
2 * OpenRISC init_task.c
3 *
4 * Linux architectural port borrowing liberally from similar works of
5 * others. All original copyrights apply as per the original source
6 * declaration.
7 *
8 * Modifications for the OpenRISC architecture:
9 * Copyright (C) 2003 Matjaz Breskvar <phoenix@bsemi.com>
10 * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se>
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version
15 * 2 of the License, or (at your option) any later version.
16 */
17
18#include <linux/init_task.h>
19#include <linux/mqueue.h>
Jonas Bonnabdf8b52012-02-15 15:00:32 +010020#include <linux/export.h>
Jonas Bonn9d02a422011-06-04 11:05:39 +030021
22static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
23static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
24
25/*
26 * Initial thread structure.
27 *
28 * We need to make sure that this is THREAD_SIZE aligned due to the
29 * way process stacks are handled. This is done by having a special
30 * "init_task" linker map entry..
31 */
32union thread_union init_thread_union __init_task_data = {
33 INIT_THREAD_INFO(init_task)
34};
35
36/*
37 * Initial task structure.
38 *
39 * All other task structs will be allocated on slabs in fork.c
40 */
41struct task_struct init_task = INIT_TASK(init_task);
42EXPORT_SYMBOL(init_task);