Hexagon: Add init_task and process functions
PATCH v5 15/36 Hexagon: Add init_task and process functions
Signed-off-by Richard Kuo <[email protected]>
Acked-by Arnd Bergmann <[email protected]>
--- arch/hexagon/kernel/init_task.c | 54 ++++++++ arch/hexagon/kernel/process.c | 279 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 333 insertions(+), 0 deletions(-) create mode 100644 arch/hexagon/kernel/init_task.c create mode 100644 arch/hexagon/kernel/process.c
arch/hexagon/kernel/init_task.c new file +54 -0
@@ -0,0 +1,54 @@ +/* +* Init task definition +* +* Copyright (c) 2010-2011, Code Aurora Forum. All rights reserved. +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License version 2 and +* only version 2 as published by the Free Software Foundation. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +* 02110-1301, USA. +*/ + +#include <linux/mm.h> +#include <linux/module.h> +#include <linux/sched.h> +#include <linux/init_task.h> +#include <linux/fs.h> +#include <linux/mqueue.h> +#include <asm/thread_info.h> +#include <asm/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. +*/ +union thread_union init_thread_union + __attribute__((__section__(".data.init_task"), + __aligned__(THREAD_SIZE))) = { + 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);
arch/hexagon/kernel/process.c new file +279 -0
279 lines not on this page · raw message
Signature · 7 lines
1.7.1 -- Sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.