process.c (d585a021c0b10b0477d6b608c53e1feb8cde0507) process.c (26584853a44c58f3d6ac7360d697a2ddcd1a3efa)
1/*
2 * linux/arch/arm/kernel/process.c
3 *
4 * Copyright (C) 1996-2000 Russell King - Converted to ARM.
5 * Original Copyright (C) 1995 Linus Torvalds
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as

--- 351 unchanged lines hidden (view full) ---

360 struct pt_regs regs;
361
362 memset(&regs, 0, sizeof(regs));
363
364 regs.ARM_r1 = (unsigned long)arg;
365 regs.ARM_r2 = (unsigned long)fn;
366 regs.ARM_r3 = (unsigned long)do_exit;
367 regs.ARM_pc = (unsigned long)kernel_thread_helper;
1/*
2 * linux/arch/arm/kernel/process.c
3 *
4 * Copyright (C) 1996-2000 Russell King - Converted to ARM.
5 * Original Copyright (C) 1995 Linus Torvalds
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as

--- 351 unchanged lines hidden (view full) ---

360 struct pt_regs regs;
361
362 memset(&regs, 0, sizeof(regs));
363
364 regs.ARM_r1 = (unsigned long)arg;
365 regs.ARM_r2 = (unsigned long)fn;
366 regs.ARM_r3 = (unsigned long)do_exit;
367 regs.ARM_pc = (unsigned long)kernel_thread_helper;
368 regs.ARM_cpsr = SVC_MODE;
368 regs.ARM_cpsr = SVC_MODE | PSR_ENDSTATE;
369
370 return do_fork(flags|CLONE_VM|CLONE_UNTRACED, 0, &regs, 0, NULL, NULL);
371}
372EXPORT_SYMBOL(kernel_thread);
373
374unsigned long get_wchan(struct task_struct *p)
375{
376 struct stackframe frame;

--- 17 unchanged lines hidden ---
369
370 return do_fork(flags|CLONE_VM|CLONE_UNTRACED, 0, &regs, 0, NULL, NULL);
371}
372EXPORT_SYMBOL(kernel_thread);
373
374unsigned long get_wchan(struct task_struct *p)
375{
376 struct stackframe frame;

--- 17 unchanged lines hidden ---