浏览代码

unicore32: 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: Guan Xuetao <gxt@mprc.pku.edu.cn>
Link: http://lkml.kernel.org/r/20120503085035.669622065@linutronix.de
Thomas Gleixner 13 年之前
父节点
当前提交
d0b691dffa
共有 4 个文件被更改,包括 2 次插入46 次删除
  1. 1 0
      arch/unicore32/Kconfig
  2. 0 1
      arch/unicore32/Makefile
  3. 1 1
      arch/unicore32/kernel/Makefile
  4. 0 44
      arch/unicore32/kernel/init_task.c

+ 1 - 0
arch/unicore32/Kconfig

@@ -13,6 +13,7 @@ config UNICORE32
 	select GENERIC_IRQ_SHOW
 	select GENERIC_IRQ_SHOW
 	select ARCH_WANT_FRAME_POINTERS
 	select ARCH_WANT_FRAME_POINTERS
 	select GENERIC_IOMAP
 	select GENERIC_IOMAP
+	select HAVE_GENERIC_INIT_TASK
 	help
 	help
 	  UniCore-32 is 32-bit Instruction Set Architecture,
 	  UniCore-32 is 32-bit Instruction Set Architecture,
 	  including a series of low-power-consumption RISC chip
 	  including a series of low-power-consumption RISC chip

+ 0 - 1
arch/unicore32/Makefile

@@ -33,7 +33,6 @@ endif
 CHECKFLAGS		+= -D__unicore32__
 CHECKFLAGS		+= -D__unicore32__
 
 
 head-y			:= arch/unicore32/kernel/head.o
 head-y			:= arch/unicore32/kernel/head.o
-head-y			+= arch/unicore32/kernel/init_task.o
 
 
 core-y			+= arch/unicore32/kernel/
 core-y			+= arch/unicore32/kernel/
 core-y			+= arch/unicore32/mm/
 core-y			+= arch/unicore32/mm/

+ 1 - 1
arch/unicore32/kernel/Makefile

@@ -29,4 +29,4 @@ obj-$(CONFIG_PUV3_NB0916)	+= puv3-nb0916.o
 head-y				:= head.o
 head-y				:= head.o
 obj-$(CONFIG_DEBUG_LL)		+= debug.o
 obj-$(CONFIG_DEBUG_LL)		+= debug.o
 
 
-extra-y				:= $(head-y) init_task.o vmlinux.lds
+extra-y				:= $(head-y) vmlinux.lds

+ 0 - 44
arch/unicore32/kernel/init_task.c

@@ -1,44 +0,0 @@
-/*
- * linux/arch/unicore32/kernel/init_task.c
- *
- * Code specific to PKUnity SoC and UniCore ISA
- *
- * Copyright (C) 2001-2010 GUAN Xue-tao
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-#include <linux/mm.h>
-#include <linux/module.h>
-#include <linux/fs.h>
-#include <linux/sched.h>
-#include <linux/init.h>
-#include <linux/init_task.h>
-#include <linux/mqueue.h>
-#include <linux/uaccess.h>
-
-#include <asm/pgtable.h>
-
-static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
-static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
-/*
- * Initial thread structure.
- *
- * We need to make sure that this is 8192-byte aligned due to the
- * way process stacks are handled. This is done by making sure
- * the linker maps this in the .text segment right after head.S,
- * and making head.S ensure the proper alignment.
- *
- * The things we do for performance..
- */
-union thread_union init_thread_union __init_task_data = {
-	INIT_THREAD_INFO(init_task) };
-
-/*
- * Initial task structure.
- *
- * All other task structs will be allocated on slabs in fork.c
- */
-struct task_struct init_task = INIT_TASK(init_task);
-EXPORT_SYMBOL(init_task);