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