Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
ia64
kernel
init_task.c
Go to the documentation of this file.
1
/*
2
* This is where we statically allocate and initialize the initial
3
* task.
4
*
5
* Copyright (C) 1999, 2002-2003 Hewlett-Packard Co
6
* David Mosberger-Tang <
[email protected]
>
7
*/
8
9
#include <
linux/init.h
>
10
#include <
linux/mm.h
>
11
#include <linux/fs.h>
12
#include <linux/module.h>
13
#include <linux/sched.h>
14
#include <
linux/init_task.h
>
15
#include <
linux/mqueue.h
>
16
17
#include <asm/uaccess.h>
18
#include <asm/pgtable.h>
19
20
static
struct
signal_struct
init_signals =
INIT_SIGNALS
(init_signals);
21
static
struct
sighand_struct
init_sighand =
INIT_SIGHAND
(init_sighand);
22
/*
23
* Initial task structure.
24
*
25
* We need to make sure that this is properly aligned due to the way process stacks are
26
* handled. This is done by having a special ".data..init_task" section...
27
*/
28
#define init_thread_info init_task_mem.s.thread_info
29
30
union
{
31
struct
{
32
struct
task_struct
task
;
33
struct
thread_info
thread_info
;
34
}
s
;
35
unsigned
long
stack
[
KERNEL_STACK_SIZE
/
sizeof
(
unsigned
long
)];
36
} init_task_mem
asm
(
"init_task"
)
__init_task_data
=
37
{{
38
.task =
INIT_TASK
(init_task_mem.s.task),
39
.thread_info =
INIT_THREAD_INFO
(init_task_mem.s.task)
40
}};
41
42
EXPORT_SYMBOL
(
init_task
);
Generated on Thu Jan 10 2013 13:06:40 for Linux Kernel by
1.8.2