Commit ba8a0415 authored by Linus Torvalds's avatar Linus Torvalds

Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk

into home.osdl.org:/home/torvalds/v2.5/linux
parents 01660410 384151a9
......@@ -14,6 +14,7 @@
* All initialization functions provided here are intended to be called
* from machine specific code with proper arguments when required.
*/
#include <linux/config.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/kernel.h>
......
......@@ -10,8 +10,6 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include <linux/config.h>
#include <linux/sched.h>
#include <linux/mm.h>
......
......@@ -35,7 +35,6 @@
* - enables FIQ.
* 6. Goto 3
*/
#include <linux/config.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/mm.h>
......
......@@ -312,8 +312,8 @@ void release_thread(struct task_struct *dead_task)
asmlinkage void ret_from_fork(void) __asm__("ret_from_fork");
int
copy_thread(int nr, unsigned long clone_flags, unsigned long esp,
unsigned long unused, struct task_struct *p, struct pt_regs *regs)
copy_thread(int nr, unsigned long clone_flags, unsigned long stack_start,
unsigned long stk_sz, struct task_struct *p, struct pt_regs *regs)
{
struct thread_info *thread = p->thread_info;
struct pt_regs *childregs;
......@@ -321,7 +321,7 @@ copy_thread(int nr, unsigned long clone_flags, unsigned long esp,
childregs = ((struct pt_regs *)((unsigned long)thread + THREAD_SIZE - 8)) - 1;
*childregs = *regs;
childregs->ARM_r0 = 0;
childregs->ARM_sp = esp;
childregs->ARM_sp = stack_start;
memset(&thread->cpu_context, 0, sizeof(struct cpu_context_save));
thread->cpu_context.sp = (unsigned long)childregs;
......@@ -373,33 +373,35 @@ void dump_thread(struct pt_regs * regs, struct user * dump)
}
/*
* This is the mechanism for creating a new kernel thread.
*
* NOTE! Only a kernel-only process(ie the swapper or direct descendants
* who haven't done an "execve()") should use this: it will work within
* a system call from a "real" process, but the process memory space will
* not be free'd until both the parent and the child have exited.
* Shuffle the argument into the correct register before calling the
* thread function. r1 is the thread argument, r2 is the pointer to
* the thread function, and r3 points to the exit function.
*/
extern void kernel_thread_helper(void);
asm( ".align\n"
" .type kernel_thread_helper, #function\n"
"kernel_thread_helper:\n"
" mov r0, r1\n"
" mov lr, r3\n"
" mov pc, r2\n"
" .size kernel_thread_helper, . - kernel_thread_helper");
/*
* Create a kernel thread.
*/
pid_t kernel_thread(int (*fn)(void *), void *arg, unsigned long flags)
{
register unsigned int r0 asm("r0") = flags | CLONE_VM | CLONE_UNTRACED;
register unsigned int r1 asm("r1") = 0;
register pid_t __ret asm("r0");
__asm__ __volatile__(
__syscall(clone)" @ kernel_thread sys_clone \n\
movs %0, r0 @ if we are the child \n\
bne 1f \n\
mov fp, #0 @ ensure that fp is zero \n\
mov r0, %4 \n\
mov lr, pc \n\
mov pc, %3 \n\
b sys_exit \n\
1: "
: "=r" (__ret)
: "0" (r0), "r" (r1), "r" (fn), "r" (arg)
: "lr");
return __ret;
struct pt_regs regs;
memset(&regs, 0, sizeof(regs));
regs.ARM_r1 = (unsigned long)arg;
regs.ARM_r2 = (unsigned long)fn;
regs.ARM_r3 = (unsigned long)do_exit;
regs.ARM_pc = (unsigned long)kernel_thread_helper;
regs.ARM_cpsr = SVC_MODE;
return do_fork(flags|CLONE_VM|CLONE_UNTRACED, 0, &regs, 0, NULL, NULL);
}
/*
......
......@@ -9,7 +9,6 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include <linux/config.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/mm.h>
......
......@@ -11,7 +11,6 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include <linux/config.h>
#include <linux/sched.h>
#include <linux/errno.h>
......
......@@ -41,7 +41,6 @@ Boston, MA 02111-1307, USA. */
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/hardware.h>
#include <linux/config.h>
#define RET mov
#define RETc(x) mov##x
......
......@@ -10,8 +10,6 @@
* Changelog:
* 09-Apr-2001 W/TTC Created
*/
#include <linux/config.h>
#include <linux/tty.h>
#include <linux/init.h>
......
......@@ -22,7 +22,6 @@
#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/init.h>
#include <linux/config.h>
#include <linux/bootmem.h>
#include <asm/hardware.h>
......
......@@ -17,7 +17,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <linux/config.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/init.h>
......
......@@ -11,7 +11,6 @@
*
* CPU support functions
*/
#include <linux/config.h>
#include <linux/module.h>
#include <linux/types.h>
#include <linux/kernel.h>
......
......@@ -12,7 +12,7 @@
* option) any later version.
*
*/
#include <linux/config.h>
#include <linux/mm.h>
#include <linux/init.h>
......
......@@ -5,7 +5,6 @@
*
* Extra MM routines for L7200 architecture
*/
#include <linux/config.h>
#include <linux/kernel.h>
#include <linux/init.h>
......
......@@ -16,7 +16,6 @@
* initialization stuff for PXA machines which can be overridden later if
* need be.
*/
#include <linux/config.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
......
......@@ -7,7 +7,6 @@
*
* Copyright (c) 2001 Jeff Sutherland, Accelent Systems Inc.
*/
#include <linux/config.h>
#include <linux/init.h>
#include <asm/leds.h>
......
......@@ -10,7 +10,7 @@
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License.
*/
#include <linux/config.h>
#include <linux/errno.h>
#include <linux/time.h>
......
......@@ -17,7 +17,6 @@
#include <asm/elf.h>
#include <asm/io.h>
#include <asm/setup.h>
#include <asm/mach-types.h>
#include <asm/hardware.h>
#include <asm/page.h>
......
......@@ -19,6 +19,7 @@
* and abstracted EGPIO interface.
*
*/
#include <linux/config.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/kernel.h>
......
......@@ -11,8 +11,6 @@
* published by the Free Software Foundation.
*
*/
#include <linux/config.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/sched.h>
......
/*
* linux/arch/arm/mach-sa1100/pfs168.c
*/
#include <linux/config.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/tty.h>
......
......@@ -8,8 +8,6 @@
* published by the Free Software Foundation.
*
*/
#include <linux/config.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/kernel.h>
......
......@@ -12,7 +12,6 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include <linux/config.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/sched.h>
......
......@@ -16,7 +16,6 @@
#include <asm/io.h>
#include <asm/pgtable.h>
#include <asm/page.h>
#include <asm/io.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
......
......@@ -7,6 +7,7 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include <linux/config.h>
#include <linux/linkage.h>
#include <linux/init.h>
#include <asm/hardware.h>
......
......@@ -9,7 +9,6 @@
*
* DMA uncached mapping support.
*/
#include <linux/config.h>
#include <linux/module.h>
#include <linux/mm.h>
#include <linux/slab.h>
......
......@@ -9,6 +9,7 @@
*
* Page table sludge for ARM v3 and v4 processor architectures.
*/
#include <linux/config.h>
#include <linux/mm.h>
#include <linux/init.h>
#include <linux/bootmem.h>
......
......@@ -26,6 +26,7 @@
#include "fpmodule.h"
#include "fpmodule.inl"
#include <linux/config.h>
#include <linux/compiler.h>
#include <linux/string.h>
#include <asm/system.h>
......
......@@ -33,6 +33,7 @@ register unsigned int *user_registers asm("sl");
#define GET_USERREG() (user_registers)
#include <linux/config.h>
#include <linux/thread_info.h>
/* includes */
......
......@@ -20,6 +20,7 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <linux/config.h>
#include "fpa11.h"
#include "fpopcode.h"
......
......@@ -20,6 +20,7 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <linux/config.h>
#include "fpa11.h"
#include "softfloat.h"
#include "fpopcode.h"
......
......@@ -20,6 +20,7 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <linux/config.h>
#include "fpa11.h"
#include "fpopcode.h"
#include "fpa11.inl"
......
......@@ -19,6 +19,7 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <linux/config.h>
#include "fpa11.h"
#include "softfloat.h"
#include "fpopcode.h"
......
......@@ -23,6 +23,8 @@
#ifndef __FPOPCODE_H__
#define __FPOPCODE_H__
#include <linux/config.h>
/*
ARM Floating Point Instruction Classes
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
......
......@@ -32,6 +32,8 @@ this code that are retained.
#ifndef __SOFTFLOAT_H__
#define __SOFTFLOAT_H__
#include <linux/config.h>
/*
-------------------------------------------------------------------------------
The macro `FLOATX80' must be defined to enable the extended double-precision
......
......@@ -19,7 +19,7 @@
*/
/* includes */
#include <linux/config.h>
#include <linux/pci.h>
#include <linux/netdevice.h>
#include <linux/sched.h>
......
......@@ -4,7 +4,6 @@
* PCMCIA implementation routines for Assabet
*
*/
#include <linux/config.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/errno.h>
......
......@@ -5,6 +5,7 @@
* basically means we handle everything except controlling the
* power. Power is machine specific...
*/
#include <linux/config.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/ioport.h>
......
......@@ -10,6 +10,7 @@
*
*/
#include <linux/config.h>
/*
* IOP80321 chipset interrupts
......
......@@ -10,6 +10,8 @@
*
*/
#include <linux/config.h>
/*
* Whic iop3xx implementation is this?
*/
......
......@@ -13,7 +13,6 @@
#ifndef __ASM_ARCH_HARDWARE_H
#define __ASM_ARCH_HARDWARE_H
#include <linux/config.h>
#include <asm/mach-types.h>
......
......@@ -14,7 +14,6 @@
*
*/
#include <linux/config.h>
#include <asm/irq.h>
#include <asm/hardware.h>
#include <asm/mach-types.h>
......
......@@ -12,6 +12,7 @@
*
*/
#include <linux/config.h>
/*
* Note: this file must be safe to include in assembly files
......
......@@ -10,6 +10,8 @@
* published by the Free Software Foundation.
*/
#include <linux/config.h>
#define PXA_IRQ_SKIP 7 /* The first 7 IRQs are not yet used */
#define PXA_IRQ(x) ((x) - PXA_IRQ_SKIP)
......
......@@ -7,7 +7,6 @@
#ifndef _PXA_KEYBOARD_H
#define _PXA_KEYBOARD_H
#include <linux/config.h>
#include <asm/mach-types.h>
#include <asm/hardware.h>
......
......@@ -10,6 +10,7 @@
* published by the Free Software Foundation.
*/
#include <linux/config.h>
// FIXME hack so that SA-1111.h will work [cb]
......
......@@ -7,6 +7,8 @@
* This is included by serial.c -- serial_sa1100.c makes no use of it.
*/
#include <linux/config.h>
/* Standard COM flags */
#define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST)
......
......@@ -13,6 +13,8 @@
#ifndef _ASM_ARCH_TRIZEPS_H_
#define _ASM_ARCH_TRIZEPS_H_
#include <linux/config.h>
#ifdef CONFIG_TRIZEPS_MFTB2
#include "mftb2.h"
#endif
......
......@@ -10,6 +10,7 @@
#ifndef _ASMARM_CACHEFLUSH_H
#define _ASMARM_CACHEFLUSH_H
#include <linux/config.h>
#include <linux/sched.h>
#include <linux/mm.h>
......
#ifndef __ARM_MMU_H
#define __ARM_MMU_H
#include <linux/config.h>
typedef struct {
#if __LINUX_ARM_ARCH__ >= 6
unsigned int id;
......
......@@ -10,7 +10,6 @@
#ifndef _ASMARM_PGTABLE_H
#define _ASMARM_PGTABLE_H
#include <linux/config.h>
#include <asm/memory.h>
#include <asm/proc-fns.h>
#include <asm/arch/vmalloc.h>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment