diff options
| -rw-r--r-- | arch/alpha/kernel/init_task.c | 3 | ||||
| -rw-r--r-- | arch/arm/kernel/init_task.c | 4 | ||||
| -rw-r--r-- | arch/avr32/kernel/init_task.c | 4 | ||||
| -rw-r--r-- | arch/blackfin/kernel/init_task.c | 4 | ||||
| -rw-r--r-- | arch/cris/kernel/process.c | 4 | ||||
| -rw-r--r-- | arch/frv/kernel/init_task.c | 4 | ||||
| -rw-r--r-- | arch/h8300/kernel/init_task.c | 4 | ||||
| -rw-r--r-- | arch/ia64/kernel/init_task.c | 4 | ||||
| -rw-r--r-- | arch/m32r/kernel/init_task.c | 4 | ||||
| -rw-r--r-- | arch/m68k/kernel/process.c | 4 | ||||
| -rw-r--r-- | arch/m68knommu/kernel/init_task.c | 4 | ||||
| -rw-r--r-- | arch/mips/kernel/init_task.c | 4 | ||||
| -rw-r--r-- | arch/mn10300/kernel/init_task.c | 3 | ||||
| -rw-r--r-- | arch/parisc/kernel/init_task.c | 4 | ||||
| -rw-r--r-- | arch/powerpc/kernel/init_task.c | 4 | ||||
| -rw-r--r-- | arch/s390/kernel/init_task.c | 4 | ||||
| -rw-r--r-- | arch/sh/kernel/init_task.c | 3 | ||||
| -rw-r--r-- | arch/sparc/kernel/init_task.c | 3 | ||||
| -rw-r--r-- | arch/um/kernel/init_task.c | 3 | ||||
| -rw-r--r-- | arch/x86/kernel/init_task.c | 1 | ||||
| -rw-r--r-- | arch/xtensa/kernel/init_task.c | 4 | ||||
| -rw-r--r-- | include/linux/init_task.h | 12 | ||||
| -rw-r--r-- | mm/Makefile | 1 | ||||
| -rw-r--r-- | mm/init-mm.c | 20 |
24 files changed, 21 insertions, 88 deletions
diff --git a/arch/alpha/kernel/init_task.c b/arch/alpha/kernel/init_task.c index c2938e574a40..19b86328ffd7 100644 --- a/arch/alpha/kernel/init_task.c +++ b/arch/alpha/kernel/init_task.c | |||
| @@ -10,10 +10,7 @@ | |||
| 10 | 10 | ||
| 11 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 11 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
| 12 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 12 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
| 13 | struct mm_struct init_mm = INIT_MM(init_mm); | ||
| 14 | struct task_struct init_task = INIT_TASK(init_task); | 13 | struct task_struct init_task = INIT_TASK(init_task); |
| 15 | |||
| 16 | EXPORT_SYMBOL(init_mm); | ||
| 17 | EXPORT_SYMBOL(init_task); | 14 | EXPORT_SYMBOL(init_task); |
| 18 | 15 | ||
| 19 | union thread_union init_thread_union | 16 | union thread_union init_thread_union |
diff --git a/arch/arm/kernel/init_task.c b/arch/arm/kernel/init_task.c index e859af349467..3f470866bb89 100644 --- a/arch/arm/kernel/init_task.c +++ b/arch/arm/kernel/init_task.c | |||
| @@ -14,10 +14,6 @@ | |||
| 14 | 14 | ||
| 15 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 15 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
| 16 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 16 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
| 17 | struct mm_struct init_mm = INIT_MM(init_mm); | ||
| 18 | |||
| 19 | EXPORT_SYMBOL(init_mm); | ||
| 20 | |||
| 21 | /* | 17 | /* |
| 22 | * Initial thread structure. | 18 | * Initial thread structure. |
| 23 | * | 19 | * |
diff --git a/arch/avr32/kernel/init_task.c b/arch/avr32/kernel/init_task.c index 993d56ee3cf3..57ec9f2dcd95 100644 --- a/arch/avr32/kernel/init_task.c +++ b/arch/avr32/kernel/init_task.c | |||
| @@ -15,10 +15,6 @@ | |||
| 15 | 15 | ||
| 16 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 16 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
| 17 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 17 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
| 18 | struct mm_struct init_mm = INIT_MM(init_mm); | ||
| 19 | |||
| 20 | EXPORT_SYMBOL(init_mm); | ||
| 21 | |||
| 22 | /* | 18 | /* |
| 23 | * Initial thread structure. Must be aligned on an 8192-byte boundary. | 19 | * Initial thread structure. Must be aligned on an 8192-byte boundary. |
| 24 | */ | 20 | */ |
diff --git a/arch/blackfin/kernel/init_task.c b/arch/blackfin/kernel/init_task.c index 2c228c020978..c26c34de9f3c 100644 --- a/arch/blackfin/kernel/init_task.c +++ b/arch/blackfin/kernel/init_task.c | |||
| @@ -35,10 +35,6 @@ | |||
| 35 | 35 | ||
| 36 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 36 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
| 37 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 37 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
| 38 | |||
| 39 | struct mm_struct init_mm = INIT_MM(init_mm); | ||
| 40 | EXPORT_SYMBOL(init_mm); | ||
| 41 | |||
| 42 | /* | 38 | /* |
| 43 | * Initial task structure. | 39 | * Initial task structure. |
| 44 | * | 40 | * |
diff --git a/arch/cris/kernel/process.c b/arch/cris/kernel/process.c index 4df0b320d524..51dcd04d2777 100644 --- a/arch/cris/kernel/process.c +++ b/arch/cris/kernel/process.c | |||
| @@ -38,10 +38,6 @@ | |||
| 38 | 38 | ||
| 39 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 39 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
| 40 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 40 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
| 41 | struct mm_struct init_mm = INIT_MM(init_mm); | ||
| 42 | |||
| 43 | EXPORT_SYMBOL(init_mm); | ||
| 44 | |||
| 45 | /* | 41 | /* |
| 46 | * Initial thread structure. | 42 | * Initial thread structure. |
| 47 | * | 43 | * |
diff --git a/arch/frv/kernel/init_task.c b/arch/frv/kernel/init_task.c index 29429a8b7f6a..1d3df1d9495c 100644 --- a/arch/frv/kernel/init_task.c +++ b/arch/frv/kernel/init_task.c | |||
| @@ -12,10 +12,6 @@ | |||
| 12 | 12 | ||
| 13 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 13 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
| 14 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 14 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
| 15 | struct mm_struct init_mm = INIT_MM(init_mm); | ||
| 16 | |||
| 17 | EXPORT_SYMBOL(init_mm); | ||
| 18 | |||
| 19 | /* | 15 | /* |
| 20 | * Initial thread structure. | 16 | * Initial thread structure. |
| 21 | * | 17 | * |
diff --git a/arch/h8300/kernel/init_task.c b/arch/h8300/kernel/init_task.c index cb5dc552da97..089c65ed6eb3 100644 --- a/arch/h8300/kernel/init_task.c +++ b/arch/h8300/kernel/init_task.c | |||
| @@ -14,10 +14,6 @@ | |||
| 14 | 14 | ||
| 15 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 15 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
| 16 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 16 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
| 17 | struct mm_struct init_mm = INIT_MM(init_mm); | ||
| 18 | |||
| 19 | EXPORT_SYMBOL(init_mm); | ||
| 20 | |||
| 21 | /* | 17 | /* |
| 22 | * Initial task structure. | 18 | * Initial task structure. |
| 23 | * | 19 | * |
diff --git a/arch/ia64/kernel/init_task.c b/arch/ia64/kernel/init_task.c index 5b0e830c6f33..c475fc281be7 100644 --- a/arch/ia64/kernel/init_task.c +++ b/arch/ia64/kernel/init_task.c | |||
| @@ -19,10 +19,6 @@ | |||
| 19 | 19 | ||
| 20 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 20 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
| 21 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 21 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
| 22 | struct mm_struct init_mm = INIT_MM(init_mm); | ||
| 23 | |||
| 24 | EXPORT_SYMBOL(init_mm); | ||
| 25 | |||
| 26 | /* | 22 | /* |
| 27 | * Initial task structure. | 23 | * Initial task structure. |
| 28 | * | 24 | * |
diff --git a/arch/m32r/kernel/init_task.c b/arch/m32r/kernel/init_task.c index 016885c6f260..fce57e5d3f91 100644 --- a/arch/m32r/kernel/init_task.c +++ b/arch/m32r/kernel/init_task.c | |||
| @@ -13,10 +13,6 @@ | |||
| 13 | 13 | ||
| 14 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 14 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
| 15 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 15 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
| 16 | struct mm_struct init_mm = INIT_MM(init_mm); | ||
| 17 | |||
| 18 | EXPORT_SYMBOL(init_mm); | ||
| 19 | |||
| 20 | /* | 16 | /* |
| 21 | * Initial thread structure. | 17 | * Initial thread structure. |
| 22 | * | 18 | * |
diff --git a/arch/m68k/kernel/process.c b/arch/m68k/kernel/process.c index ec37fb56c127..72bad65dba3a 100644 --- a/arch/m68k/kernel/process.c +++ b/arch/m68k/kernel/process.c | |||
| @@ -42,10 +42,6 @@ | |||
| 42 | */ | 42 | */ |
| 43 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 43 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
| 44 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 44 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
| 45 | struct mm_struct init_mm = INIT_MM(init_mm); | ||
| 46 | |||
| 47 | EXPORT_SYMBOL(init_mm); | ||
| 48 | |||
| 49 | union thread_union init_thread_union | 45 | union thread_union init_thread_union |
| 50 | __attribute__((section(".data.init_task"), aligned(THREAD_SIZE))) | 46 | __attribute__((section(".data.init_task"), aligned(THREAD_SIZE))) |
| 51 | = { INIT_THREAD_INFO(init_task) }; | 47 | = { INIT_THREAD_INFO(init_task) }; |
diff --git a/arch/m68knommu/kernel/init_task.c b/arch/m68knommu/kernel/init_task.c index fe282de1d596..45e97a207fed 100644 --- a/arch/m68knommu/kernel/init_task.c +++ b/arch/m68knommu/kernel/init_task.c | |||
| @@ -14,10 +14,6 @@ | |||
| 14 | 14 | ||
| 15 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 15 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
| 16 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 16 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
| 17 | struct mm_struct init_mm = INIT_MM(init_mm); | ||
| 18 | |||
| 19 | EXPORT_SYMBOL(init_mm); | ||
| 20 | |||
| 21 | /* | 17 | /* |
| 22 | * Initial task structure. | 18 | * Initial task structure. |
| 23 | * | 19 | * |
diff --git a/arch/mips/kernel/init_task.c b/arch/mips/kernel/init_task.c index 149cd914526e..5b457a40c784 100644 --- a/arch/mips/kernel/init_task.c +++ b/arch/mips/kernel/init_task.c | |||
| @@ -11,10 +11,6 @@ | |||
| 11 | 11 | ||
| 12 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 12 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
| 13 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 13 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
| 14 | struct mm_struct init_mm = INIT_MM(init_mm); | ||
| 15 | |||
| 16 | EXPORT_SYMBOL(init_mm); | ||
| 17 | |||
| 18 | /* | 14 | /* |
| 19 | * Initial thread structure. | 15 | * Initial thread structure. |
| 20 | * | 16 | * |
diff --git a/arch/mn10300/kernel/init_task.c b/arch/mn10300/kernel/init_task.c index 5ac3566f8c98..80d423b80af3 100644 --- a/arch/mn10300/kernel/init_task.c +++ b/arch/mn10300/kernel/init_task.c | |||
| @@ -20,9 +20,6 @@ | |||
| 20 | 20 | ||
| 21 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 21 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
| 22 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 22 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
| 23 | struct mm_struct init_mm = INIT_MM(init_mm); | ||
| 24 | EXPORT_SYMBOL(init_mm); | ||
| 25 | |||
| 26 | /* | 23 | /* |
| 27 | * Initial thread structure. | 24 | * Initial thread structure. |
| 28 | * | 25 | * |
diff --git a/arch/parisc/kernel/init_task.c b/arch/parisc/kernel/init_task.c index 1e25a45d64c1..82974b20fc10 100644 --- a/arch/parisc/kernel/init_task.c +++ b/arch/parisc/kernel/init_task.c | |||
| @@ -36,10 +36,6 @@ | |||
| 36 | 36 | ||
| 37 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 37 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
| 38 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 38 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
| 39 | struct mm_struct init_mm = INIT_MM(init_mm); | ||
| 40 | |||
| 41 | EXPORT_SYMBOL(init_mm); | ||
| 42 | |||
| 43 | /* | 39 | /* |
| 44 | * Initial task structure. | 40 | * Initial task structure. |
| 45 | * | 41 | * |
diff --git a/arch/powerpc/kernel/init_task.c b/arch/powerpc/kernel/init_task.c index 688b329800bd..ffc4253fef55 100644 --- a/arch/powerpc/kernel/init_task.c +++ b/arch/powerpc/kernel/init_task.c | |||
| @@ -9,10 +9,6 @@ | |||
| 9 | 9 | ||
| 10 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 10 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
| 11 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 11 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
| 12 | struct mm_struct init_mm = INIT_MM(init_mm); | ||
| 13 | |||
| 14 | EXPORT_SYMBOL(init_mm); | ||
| 15 | |||
| 16 | /* | 12 | /* |
| 17 | * Initial thread structure. | 13 | * Initial thread structure. |
| 18 | * | 14 | * |
diff --git a/arch/s390/kernel/init_task.c b/arch/s390/kernel/init_task.c index 7db95c0b8693..fe787f9e5f3f 100644 --- a/arch/s390/kernel/init_task.c +++ b/arch/s390/kernel/init_task.c | |||
| @@ -18,10 +18,6 @@ | |||
| 18 | 18 | ||
| 19 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 19 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
| 20 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 20 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
| 21 | struct mm_struct init_mm = INIT_MM(init_mm); | ||
| 22 | |||
| 23 | EXPORT_SYMBOL(init_mm); | ||
| 24 | |||
| 25 | /* | 21 | /* |
| 26 | * Initial thread structure. | 22 | * Initial thread structure. |
| 27 | * | 23 | * |
diff --git a/arch/sh/kernel/init_task.c b/arch/sh/kernel/init_task.c index 80c35ff71d56..1719957c0a69 100644 --- a/arch/sh/kernel/init_task.c +++ b/arch/sh/kernel/init_task.c | |||
| @@ -10,9 +10,6 @@ | |||
| 10 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 10 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
| 11 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 11 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
| 12 | struct pt_regs fake_swapper_regs; | 12 | struct pt_regs fake_swapper_regs; |
| 13 | struct mm_struct init_mm = INIT_MM(init_mm); | ||
| 14 | EXPORT_SYMBOL(init_mm); | ||
| 15 | |||
| 16 | /* | 13 | /* |
| 17 | * Initial thread structure. | 14 | * Initial thread structure. |
| 18 | * | 15 | * |
diff --git a/arch/sparc/kernel/init_task.c b/arch/sparc/kernel/init_task.c index f28cb8278e98..28125c5b3d3c 100644 --- a/arch/sparc/kernel/init_task.c +++ b/arch/sparc/kernel/init_task.c | |||
| @@ -10,10 +10,7 @@ | |||
| 10 | 10 | ||
| 11 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 11 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
| 12 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 12 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
| 13 | struct mm_struct init_mm = INIT_MM(init_mm); | ||
| 14 | struct task_struct init_task = INIT_TASK(init_task); | 13 | struct task_struct init_task = INIT_TASK(init_task); |
| 15 | |||
| 16 | EXPORT_SYMBOL(init_mm); | ||
| 17 | EXPORT_SYMBOL(init_task); | 14 | EXPORT_SYMBOL(init_task); |
| 18 | 15 | ||
| 19 | /* .text section in head.S is aligned at 8k boundary and this gets linked | 16 | /* .text section in head.S is aligned at 8k boundary and this gets linked |
diff --git a/arch/um/kernel/init_task.c b/arch/um/kernel/init_task.c index 806d381947bf..b25121b537d8 100644 --- a/arch/um/kernel/init_task.c +++ b/arch/um/kernel/init_task.c | |||
| @@ -10,11 +10,8 @@ | |||
| 10 | #include "linux/mqueue.h" | 10 | #include "linux/mqueue.h" |
| 11 | #include "asm/uaccess.h" | 11 | #include "asm/uaccess.h" |
| 12 | 12 | ||
| 13 | struct mm_struct init_mm = INIT_MM(init_mm); | ||
| 14 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 13 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
| 15 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 14 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
| 16 | EXPORT_SYMBOL(init_mm); | ||
| 17 | |||
| 18 | /* | 15 | /* |
| 19 | * Initial task structure. | 16 | * Initial task structure. |
| 20 | * | 17 | * |
diff --git a/arch/x86/kernel/init_task.c b/arch/x86/kernel/init_task.c index df3bf269beab..270ff83efc11 100644 --- a/arch/x86/kernel/init_task.c +++ b/arch/x86/kernel/init_task.c | |||
| @@ -12,7 +12,6 @@ | |||
| 12 | 12 | ||
| 13 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 13 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
| 14 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 14 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
| 15 | struct mm_struct init_mm = INIT_MM(init_mm); | ||
| 16 | 15 | ||
| 17 | /* | 16 | /* |
| 18 | * Initial thread structure. | 17 | * Initial thread structure. |
diff --git a/arch/xtensa/kernel/init_task.c b/arch/xtensa/kernel/init_task.c index e07f5c9fcd35..c4302f0e4ba0 100644 --- a/arch/xtensa/kernel/init_task.c +++ b/arch/xtensa/kernel/init_task.c | |||
| @@ -23,10 +23,6 @@ | |||
| 23 | 23 | ||
| 24 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 24 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
| 25 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 25 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
| 26 | struct mm_struct init_mm = INIT_MM(init_mm); | ||
| 27 | |||
| 28 | EXPORT_SYMBOL(init_mm); | ||
| 29 | |||
| 30 | union thread_union init_thread_union | 26 | union thread_union init_thread_union |
| 31 | __attribute__((__section__(".data.init_task"))) = | 27 | __attribute__((__section__(".data.init_task"))) = |
| 32 | { INIT_THREAD_INFO(init_task) }; | 28 | { INIT_THREAD_INFO(init_task) }; |
diff --git a/include/linux/init_task.h b/include/linux/init_task.h index 28b1f30601b5..5368fbdc7801 100644 --- a/include/linux/init_task.h +++ b/include/linux/init_task.h | |||
| @@ -15,18 +15,6 @@ | |||
| 15 | extern struct files_struct init_files; | 15 | extern struct files_struct init_files; |
| 16 | extern struct fs_struct init_fs; | 16 | extern struct fs_struct init_fs; |
| 17 | 17 | ||
| 18 | #define INIT_MM(name) \ | ||
| 19 | { \ | ||
| 20 | .mm_rb = RB_ROOT, \ | ||
| 21 | .pgd = swapper_pg_dir, \ | ||
| 22 | .mm_users = ATOMIC_INIT(2), \ | ||
| 23 | .mm_count = ATOMIC_INIT(1), \ | ||
| 24 | .mmap_sem = __RWSEM_INITIALIZER(name.mmap_sem), \ | ||
| 25 | .page_table_lock = __SPIN_LOCK_UNLOCKED(name.page_table_lock), \ | ||
| 26 | .mmlist = LIST_HEAD_INIT(name.mmlist), \ | ||
| 27 | .cpu_vm_mask = CPU_MASK_ALL, \ | ||
| 28 | } | ||
| 29 | |||
| 30 | #define INIT_SIGNALS(sig) { \ | 18 | #define INIT_SIGNALS(sig) { \ |
| 31 | .count = ATOMIC_INIT(1), \ | 19 | .count = ATOMIC_INIT(1), \ |
| 32 | .wait_chldexit = __WAIT_QUEUE_HEAD_INITIALIZER(sig.wait_chldexit),\ | 20 | .wait_chldexit = __WAIT_QUEUE_HEAD_INITIALIZER(sig.wait_chldexit),\ |
diff --git a/mm/Makefile b/mm/Makefile index e89acb090b4d..cf76be785add 100644 --- a/mm/Makefile +++ b/mm/Makefile | |||
| @@ -12,6 +12,7 @@ obj-y := bootmem.o filemap.o mempool.o oom_kill.o fadvise.o \ | |||
| 12 | readahead.o swap.o truncate.o vmscan.o shmem.o \ | 12 | readahead.o swap.o truncate.o vmscan.o shmem.o \ |
| 13 | prio_tree.o util.o mmzone.o vmstat.o backing-dev.o \ | 13 | prio_tree.o util.o mmzone.o vmstat.o backing-dev.o \ |
| 14 | page_isolation.o mm_init.o $(mmu-y) | 14 | page_isolation.o mm_init.o $(mmu-y) |
| 15 | obj-y += init-mm.o | ||
| 15 | 16 | ||
| 16 | obj-$(CONFIG_PROC_PAGE_MONITOR) += pagewalk.o | 17 | obj-$(CONFIG_PROC_PAGE_MONITOR) += pagewalk.o |
| 17 | obj-$(CONFIG_BOUNCE) += bounce.o | 18 | obj-$(CONFIG_BOUNCE) += bounce.o |
diff --git a/mm/init-mm.c b/mm/init-mm.c new file mode 100644 index 000000000000..57aba0da9668 --- /dev/null +++ b/mm/init-mm.c | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | #include <linux/mm_types.h> | ||
| 2 | #include <linux/rbtree.h> | ||
| 3 | #include <linux/rwsem.h> | ||
| 4 | #include <linux/spinlock.h> | ||
| 5 | #include <linux/list.h> | ||
| 6 | #include <linux/cpumask.h> | ||
| 7 | |||
| 8 | #include <asm/atomic.h> | ||
| 9 | #include <asm/pgtable.h> | ||
| 10 | |||
| 11 | struct mm_struct init_mm = { | ||
| 12 | .mm_rb = RB_ROOT, | ||
| 13 | .pgd = swapper_pg_dir, | ||
| 14 | .mm_users = ATOMIC_INIT(2), | ||
| 15 | .mm_count = ATOMIC_INIT(1), | ||
| 16 | .mmap_sem = __RWSEM_INITIALIZER(init_mm.mmap_sem), | ||
| 17 | .page_table_lock = __SPIN_LOCK_UNLOCKED(init_mm.page_table_lock), | ||
| 18 | .mmlist = LIST_HEAD_INIT(init_mm.mmlist), | ||
| 19 | .cpu_vm_mask = CPU_MASK_ALL, | ||
| 20 | }; | ||
