diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2012-05-03 05:02:59 -0400 |
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2012-05-05 07:00:26 -0400 |
| commit | 293ef7b8288da79112276ddd53902aff75ce7494 (patch) | |
| tree | 46028d8e58952a98efbc7c038c5b9b6a2ff79ac2 /arch/tile/kernel | |
| parent | 3f149aa226e39e7f29ca7bb22f8e5bf304206a8f (diff) | |
tile: Use generic init_task
Same code. Use the generic version. The special Makefile treatment is
pointless anyway as init_task.o contains only data which is handled by
the linker script. So no point on being treated like head text.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Chris Metcalf <cmetcalf@tilera.com>
Link: http://lkml.kernel.org/r/20120503085035.528129988@linutronix.de
Diffstat (limited to 'arch/tile/kernel')
| -rw-r--r-- | arch/tile/kernel/Makefile | 2 | ||||
| -rw-r--r-- | arch/tile/kernel/init_task.c | 59 | ||||
| -rw-r--r-- | arch/tile/kernel/setup.c | 16 |
3 files changed, 17 insertions, 60 deletions
diff --git a/arch/tile/kernel/Makefile b/arch/tile/kernel/Makefile index b4dbc057baad..0d826faf8f35 100644 --- a/arch/tile/kernel/Makefile +++ b/arch/tile/kernel/Makefile | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # | 3 | # |
| 4 | 4 | ||
| 5 | extra-y := vmlinux.lds head_$(BITS).o | 5 | extra-y := vmlinux.lds head_$(BITS).o |
| 6 | obj-y := backtrace.o entry.o init_task.o irq.o messaging.o \ | 6 | obj-y := backtrace.o entry.o irq.o messaging.o \ |
| 7 | pci-dma.o proc.o process.o ptrace.o reboot.o \ | 7 | pci-dma.o proc.o process.o ptrace.o reboot.o \ |
| 8 | setup.o signal.o single_step.o stack.o sys.o sysfs.o time.o traps.o \ | 8 | setup.o signal.o single_step.o stack.o sys.o sysfs.o time.o traps.o \ |
| 9 | intvec_$(BITS).o regs_$(BITS).o tile-desc_$(BITS).o | 9 | intvec_$(BITS).o regs_$(BITS).o tile-desc_$(BITS).o |
diff --git a/arch/tile/kernel/init_task.c b/arch/tile/kernel/init_task.c deleted file mode 100644 index 928b31870669..000000000000 --- a/arch/tile/kernel/init_task.c +++ /dev/null | |||
| @@ -1,59 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Copyright 2010 Tilera Corporation. All Rights Reserved. | ||
| 3 | * | ||
| 4 | * This program is free software; you can redistribute it and/or | ||
| 5 | * modify it under the terms of the GNU General Public License | ||
| 6 | * as published by the Free Software Foundation, version 2. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, but | ||
| 9 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or | ||
| 11 | * NON INFRINGEMENT. See the GNU General Public License for | ||
| 12 | * more details. | ||
| 13 | */ | ||
| 14 | |||
| 15 | #include <linux/mm.h> | ||
| 16 | #include <linux/fs.h> | ||
| 17 | #include <linux/init_task.h> | ||
| 18 | #include <linux/mqueue.h> | ||
| 19 | #include <linux/module.h> | ||
| 20 | #include <linux/start_kernel.h> | ||
| 21 | #include <linux/uaccess.h> | ||
| 22 | |||
| 23 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | ||
| 24 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | ||
| 25 | |||
| 26 | /* | ||
| 27 | * Initial thread structure. | ||
| 28 | * | ||
| 29 | * We need to make sure that this is THREAD_SIZE aligned due to the | ||
| 30 | * way process stacks are handled. This is done by having a special | ||
| 31 | * "init_task" linker map entry.. | ||
| 32 | */ | ||
| 33 | union thread_union init_thread_union __init_task_data = { | ||
| 34 | INIT_THREAD_INFO(init_task) | ||
| 35 | }; | ||
| 36 | |||
| 37 | /* | ||
| 38 | * Initial task structure. | ||
| 39 | * | ||
| 40 | * All other task structs will be allocated on slabs in fork.c | ||
| 41 | */ | ||
| 42 | struct task_struct init_task = INIT_TASK(init_task); | ||
| 43 | EXPORT_SYMBOL(init_task); | ||
| 44 | |||
| 45 | /* | ||
| 46 | * per-CPU stack and boot info. | ||
| 47 | */ | ||
| 48 | DEFINE_PER_CPU(unsigned long, boot_sp) = | ||
| 49 | (unsigned long)init_stack + THREAD_SIZE; | ||
| 50 | |||
| 51 | #ifdef CONFIG_SMP | ||
| 52 | DEFINE_PER_CPU(unsigned long, boot_pc) = (unsigned long)start_kernel; | ||
| 53 | #else | ||
| 54 | /* | ||
| 55 | * The variable must be __initdata since it references __init code. | ||
| 56 | * With CONFIG_SMP it is per-cpu data, which is exempt from validation. | ||
| 57 | */ | ||
| 58 | unsigned long __initdata boot_pc = (unsigned long)start_kernel; | ||
| 59 | #endif | ||
diff --git a/arch/tile/kernel/setup.c b/arch/tile/kernel/setup.c index bff23f476110..98d80eb49ddb 100644 --- a/arch/tile/kernel/setup.c +++ b/arch/tile/kernel/setup.c | |||
| @@ -61,6 +61,22 @@ unsigned long __initdata node_free_pfn[MAX_NUMNODES]; | |||
| 61 | 61 | ||
| 62 | static unsigned long __initdata node_percpu[MAX_NUMNODES]; | 62 | static unsigned long __initdata node_percpu[MAX_NUMNODES]; |
| 63 | 63 | ||
| 64 | /* | ||
| 65 | * per-CPU stack and boot info. | ||
| 66 | */ | ||
| 67 | DEFINE_PER_CPU(unsigned long, boot_sp) = | ||
| 68 | (unsigned long)init_stack + THREAD_SIZE; | ||
| 69 | |||
| 70 | #ifdef CONFIG_SMP | ||
| 71 | DEFINE_PER_CPU(unsigned long, boot_pc) = (unsigned long)start_kernel; | ||
| 72 | #else | ||
| 73 | /* | ||
| 74 | * The variable must be __initdata since it references __init code. | ||
| 75 | * With CONFIG_SMP it is per-cpu data, which is exempt from validation. | ||
| 76 | */ | ||
| 77 | unsigned long __initdata boot_pc = (unsigned long)start_kernel; | ||
| 78 | #endif | ||
| 79 | |||
| 64 | #ifdef CONFIG_HIGHMEM | 80 | #ifdef CONFIG_HIGHMEM |
| 65 | /* Page frame index of end of lowmem on each controller. */ | 81 | /* Page frame index of end of lowmem on each controller. */ |
| 66 | unsigned long __cpuinitdata node_lowmem_end_pfn[MAX_NUMNODES]; | 82 | unsigned long __cpuinitdata node_lowmem_end_pfn[MAX_NUMNODES]; |
