summaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel (follow)
Commit message (Collapse)AuthorAgeFilesLines
* [ARM] Remove RETINSTR macroRussell King2006-06-251-1/+1
| | | | | | | | RETINSTR is a left-over from the days when we had 26-bit and 32-bit CPU support integrated into the same tree. Since this is no longer the case, we can now remove RETINSTR. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* Merge signal handler branchRussell King2006-06-251-125/+82
|\
| * [ARM] 3648/1: Update struct ucontext layout for coprocessor registersDaniel Jacobowitz2006-06-251-31/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch from Daniel Jacobowitz In order for userspace to find saved coprocessor registers, move them from struct rt_sigframe into struct ucontext. Also allow space for glibc's sigset_t, so that userspace and kernelspace can use the same ucontext layout. Define the magic numbers for iWMMXt in the header file for easier reference. Include the size of the coprocessor data in the magic numbers. Also define magic numbers and layout for VFP, not yet saved. Signed-off-by: Daniel Jacobowitz <dan@codesourcery.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] Add identifying number for non-rt sigframeRussell King2006-06-241-0/+5
| | | | | | | | | | | | | | | | | | GDB couldn't reliably tell the difference between the old and new non-rt sigframes, so provide it with a number at the beginning which will never appear in the old sigframe, and hence provide gdb with a reliable way to tell the two apart. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] Gather common sigframe saving code into setup_sigframe()Russell King2006-06-181-33/+29
| | | | | | | | | | | | | | Gather the common sigmask savbing code inside setup_sigcontext(), and rename the function setup_sigframe(). Pass it a sigframe structure. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] Gather common sigframe restoration code into restore_sigframe()Russell King2006-06-181-43/+33
| | | | | | | | | | | | | | Gather the sigmask restoration code inside restore_sigcontext(), and rename the function restore_sigframe(). Pass it a sigframe structure. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] Re-use sigframe within rt_sigframeRussell King2006-06-181-13/+11
| | | | | | | | | | | | | | | | sigframe is now a contained subset of rt_sigframe, so we can start to re-use code which accesses sigframe data for both rt and non-rt signals. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] Merge sigcontext and sigmask members of sigframeRussell King2006-06-181-6/+5
| | | | | | | | | | | | | | | | ucontext contains both the sigcontext and sigmask structures, and is also used for rt signal contexts. Re-use this structure for non-rt signals. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] Replace extramask with a full copy of the sigmaskRussell King2006-06-181-10/+3
| | | | | | | | | | | | | | | | There's not much point in splitting the sigmask between two different locations, so copy it entirely into a proper sigset_t. This will eventually allow rt_sigframe and sigframe to share more code. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] Remove rt_sigframe puc and pinfo pointersRussell King2006-06-181-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These two members appear to be surplus to requirements. Discussing this issue with glibc folk: | > Additionally, do you see any need for these weird "puc" and "pinfo" | > pointers in the kernels rt_sigframe structure? Can we kill them? | | We can kill them. I checked with Phil B. about them last week, and he | didn't remember any reason they still needed to be there. And nothing | should know where they are on the stack. Unfortunately, doing this | will upset GDB, which knows that the saved registers are 0x88 bytes | above the stack pointer on entrance to an rt signal trampoline; but, | since puc and pinfo are quite recognizable, I can adapt GDB to support | the new layout if you want to remove them. So remove them. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] 3632/1: iwmmxt: fix up argument comment for iwmmxt_task_restore()Lennert Buytenhek2006-06-241-1/+1
| | | | | | | | | | | | | | | | | | | | Patch from Lennert Buytenhek Commit d6551e884cf66de072b81f8b6d23259462c40baf forgot to update the description of what goes into r2 when calling iwmmxt_task_restore(). Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [PATCH] fix silly ARM non-EABI build errorNicolas Pitre2006-06-231-1/+1
| | | | | | | | | | | | | | My bad. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] make noirqdebug/irqfixup __read_mostly, add (un)likely()Andreas Mohr2006-06-231-2/+2
| | | | | | | | | | | | Signed-off-by: Andreas Mohr <andi@lisas.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [ARM] 3626/1: ARM EABI: fix syscall restartingNicolas Pitre2006-06-221-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch from Nicolas Pitre The RESTARTBLOCK case currently store some code on the stack to invoke sys_restart_syscall. However this is ABI dependent and there is a mismatch with the way __NR_restart_syscall gets defined when the kernel is compiled for EABI. There is also a long standing bug in the thumb case since with OABI the __NR_restart_syscall value includes __NR_SYSCALL_BASE which should not be the case for Thumb syscalls. Credits to Yauheni Kaliuta <yauheni.kaliuta@gmail.com> for finding the EABI bug. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] Add thread_notify infrastructureRussell King2006-06-223-28/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | Some machine classes need to allow VFP support to be built into the kernel, but still allow the kernel to run even though VFP isn't present. Unfortunately, the kernel hard-codes VFP instructions into the thread switch, which prevents this being run-time selectable. Solve this by introducing a notifier which things such as VFP can hook into to be informed of events which affect the VFP subsystem (eg, creation and destruction of threads, switches between threads.) Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] 3593/1: Add reboot and shutdown handlers for Zaurus handheldsRichard Purdie2006-06-191-26/+35
| | | | | | | | | | | | | | | | | | | | | | Patch from Richard Purdie Add functionality to allow machine specific reboot handlers on ARM. Add machine specific reboot and poweroff handlers for all PXA Zaurus models. Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] 3554/1: ARM: Fix dyntick lockingTony Lindgren2006-06-182-9/+19
| | | | | | | | | | | | | | | | | | | | Patch from Tony Lindgren This patch fixes some dyntick locking issues on ARM as pointed out by Russell King. Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] 3335/1: Old-abi Thumb sys_syscall brokenPaul Brook2006-06-181-1/+1
|/ | | | | | | | | | | | | | | | Patch from Paul Brook The old-abi sys_syscall syscall is broken when called from Thumb mode. It assumes the syscall number is an Arm syscall number (ie. starts from __NR_OABI_SYSCALL_BASE). In thumb mode syscall numbers start from zero. The patch below fixes this by clearing the nigh bits of the syscall number instead of inverting them. Technically this means we accept some invalid syscall numbers, but I can't see how that could be a problem. The two sets of numbers far apart that unimplemented syscalls should still be rejected. Signed-off-by: Paul Brook <paul@codesourcery.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] arch/arm/kernel/dma-isa.c: named initializersAdrian Bunk2006-05-161-6/+17
| | | | | | | | | | This patch converts struct dma_resources to named initializers. Besides fixing a compile error in -mm, it didn't sound like a bad idea. Signed-off-by: Adrian Bunk <bunk@stusta.de> Acked-by: Alexander Schulz <alex@shark-linux.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] arch/arm/kernel/process.c: Fix warningRussell King2006-05-161-1/+1
| | | | | | arch/arm/kernel/process.c:314: warning: assignment makes integer from pointer without a cast Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3517/1: move definition of PROC_INFO_SZ from procinfo.h to asm-offsets.hUwe Zeisberger2006-05-161-0/+2
| | | | | | | | | | | Patch from Uwe Zeisberger The symbol is only used in arch/arm/kernel/head-common.S. This in turn is included from arch/arm/kernel/head.S and arch/arm/kernel/head-nommu.S which include asm-offsets.h . Signed-off-by: Uwe Zeisberger <Uwe_Zeisberger@digi.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Fix thread struct allocator for SMP caseRussell King2006-05-091-12/+25
| | | | | | | | The ARM thread struct allocator is racy on SMP systems. Fix it by turning it into a per-cpu based allocator. This also allows keeps the cache cache warm for thread structs and kernel stacks. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3496/1: more constants for asm-offsets.hUwe Zeisberger2006-05-053-11/+7
| | | | | | | | | | | | | | | | | Patch from Uwe Zeisberger added the following constants: - MACHINFO_TYPE - MACHINFO_NAME - MACHINFO_PHYSIO - MACHINFO_PGOFFIO - PROCINFO_INITFUNC - PROCINFO_MMUFLAGS and removed their definition from head.S and head-nommu.S Signed-off-by: Uwe Zeisberger <Uwe_Zeisberger@digi.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] nommu: trivial fixups for head-nommu.S and the MakefileHyok S. Choi2006-04-242-2/+4
| | | | | | | | This patch fix compilation problem of start-up codes. (head-nommu.S, arch/arm/kernel/Makefile) Signed-off-by: Hyok S. Choi <hyok.choi@samsung.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] for_each_possible_cpuKAMEZAWA Hiroyuki2006-04-201-1/+1
| | | | | | | | | | | | | | | | for_each_cpu() actually iterates across all possible CPUs. We've had mistakes in the past where people were using for_each_cpu() where they should have been iterating across only online or present CPUs. This is inefficient and possibly buggy. We're renaming for_each_cpu() to for_each_possible_cpu() to avoid this in the future. This patch replaces for_each_cpu with for_each_possible_cpu. Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] add_memory() build fixAndrew Morton2006-04-201-3/+3
| | | | | | | | | | | | This is back again. Offending patch is x86_64-mm-hotadd-reserve.patch arch/arm/kernel/setup.c:435: error: conflicting types for 'add_memory' include/linux/memory_hotplug.h:102: error: previous declaration of 'add_memory' was here arch/arm/kernel/setup.c:435: error: conflicting types for 'add_memory' include/linux/memory_hotplug.h:102: error: previous declaration of 'add_memory' was here Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [PATCH] No arch-specific strpbrk implementationsKyle McMartin2006-04-111-1/+0
| | | | | | | | | | | | | | | While cleaning up parisc_ksyms.c earlier, I noticed that strpbrk wasn't being exported from lib/string.c. Investigating further, I noticed a changeset that removed its export and added it to _ksyms.c on a few more architectures. The justification was that "other arches do it." I think this is wrong, since no architecture currently defines __HAVE_ARCH_STRPBRK, there's no reason for any of them to be exporting it themselves. Therefore, consolidate the export to lib/string.c. Signed-off-by: Kyle McMartin <kyle@parisc-linux.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [ARM] 3470/1: Clear the HWCAP bits for the disabled kernel featuresCatalin Marinas2006-04-101-0/+6
| | | | | | | | | | | | Patch from Catalin Marinas Glibc interprets the HWCAP bits and decides on what features to use. However, even if the features are present in the hardware, they are not always supported by the kernel and hence the corresponding bits have to be cleared from the elf_hwcap variable. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3439/2: xsc3: add I/O coherency supportLennert Buytenhek2006-04-021-0/+3
| | | | | | | | | | | | | | | | | | | | | Patch from Lennert Buytenhek This patch adds support for the I/O coherent cache available on the xsc3. The approach is to provide a simple API to determine whether the chipset supports coherency by calling arch_is_coherent() and then setting the appropriate system memory PTE and PMD bits. In addition, we call this API on dma_alloc_coherent() and dma_map_single() calls. A generic version exists that will compile out all the coherency-related code that is not needed on the majority of ARM systems. Note that we do not check for coherency in the dma_alloc_writecombine() function as that still requires a special PTE setting. We also don't touch dma_mmap_coherent() as that is a special ARM-only API that is by definition only used on non-coherent system. Signed-off-by: Deepak Saxena <dsaxena@plexity.net> Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3437/1: Kill duplicate exports of string library functionsKomal Shah2006-04-011-13/+0
| | | | | | | | | Patch from Komal Shah This patch fixes the duplicate exports of string library functions. Signed-off-by: Komal Shah <komal_shah802003@yahoo.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2006-04-016-212/+308
|\ | | | | | | | | | | | | | | | | | | | | | | | | * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 3424/2: ixp23xx: fix uncompress.h for recent CRLF decompressor change [ARM] 3434/1: pxa i2s amsl define [ARM] 3425/1: xsc3: need to include pgtable-hwdef.h [ARM] Allow un-muxed syscalls to be available for everyone [ARM] 3420/1: Missing clobber in example code [ARM] nommu: fixups for the exception vectors [ARM] nommu: add nommu specific Kconfig and MMUEXT variable in Makefile [ARM] nommu: start-up code [ARM] nommu: MPU support in boot/compressed/head.S
| * [ARM] 3420/1: Missing clobber in example codePaul Brook2006-03-281-1/+1
| | | | | | | | | | | | | | | | | | | | Patch from Paul Brook The example code in the source documentation for __kernel_dmb clobbers r0 but doesn't list it the asm clobber list. Signed-off-by: Paul Brook <paul@codesourcery.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * Merge nommu treeRussell King2006-03-285-211/+307
| |\
| | * [ARM] nommu: fixups for the exception vectorsHyok S. Choi2006-03-272-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | The high page vector (0xFFFF0000) does not supported in nommu mode. This patch allows the vectors to be 0x00000000 or the begining of DRAM in nommu mode. Signed-off-by: Hyok S. Choi <hyok.choi@samsung.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | * [ARM] nommu: start-up codeHyok S. Choi2006-03-273-206/+301
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds nommu version start-up code head-nommu.S. The common part of the start-up codes is moved to head-common.S. Signed-off-by: Hyok S. Choi <hyok.choi@samsung.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | | [PATCH] unexport get_wchanAdrian Bunk2006-03-311-1/+0
|/ / | | | | | | | | | | | | | | The only user of get_wchan is the proc fs - and proc can't be built modular. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [ARM] 3030/2: fix permission check in the obscur cmpxchg syscallNicolas Pitre2006-03-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch from Nicolas Pitre Quoting RMK: |pte_write() just says that the page _may_ be writable. It doesn't say |that the MMU is programmed to allow writes. If pte_dirty() doesn't |return true, that means that the page is _not_ writable from userspace. |If you write to it from kernel mode (without using put_user) you'll |bypass the MMU read-only protection and may end up writing to a page |owned by two separate processes. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | Merge nommu treeRussell King2006-03-253-8/+16
|\| | | | | | | | | | | Fix merge conflict in arch/arm/mm/proc-xscale.S Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] Move read of processor ID out of lookup_processor_type()Russell King2006-03-212-8/+11
| | | | | | | | | | | | | | | | | | | | Read the processor ID at boot, and save it in "processor_id" as we did before. Later, when we re-parse the CPU type in the setup.c code, re-use the value stored in "processor_id". This allows a cleaner work-around for noMMU devices without CP#15. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] noMMU: block sys_fork in nommu modeHyok S. Choi2006-03-211-0/+5
| | | | | | | | | | | | | | | | | | The sys_fork is not supported in nommu mode. The other syscalls that is not supported in nommu mode are to be defined as cond_signal in kernel/sys_ni.c. Signed-off-by: Hyok S. Choi <hyok.choi@samsung.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] SMP: don't set cpu_*_map in smp_prepare_boot_cpuRussell King2006-03-251-3/+0
| | | | | | | | | | | | | | | | | | The recent addition of boot_cpu_init() implements the initialisation of the online, present and possible cpu maps for the boot CPU, so there is no reason to duplicate this in the architecture smp_prepare_boot_cpu() hook. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] Move enable_irq and disable_irq to assembler.hRussell King2006-03-231-18/+0
| | | | | | | | | | | | | | | | 5d25ac038a317d454a4321cba955f756400835a5 broke VFP builds due to enable_irq not being defined as an assembly macro. Move it to assembler.h so everyone can use it. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] Quieten spurious IRQ detectionRussell King2006-03-221-3/+8
| | | | | | | | | | | | | | | | Only issue a "nobody cared" warning after 99900 spurious interrupts. This avoids the occasional spurious interrupt causing warnings, as per x86. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] Convert kmalloc+memset to kzallocRussell King2006-03-213-9/+3
| | | | | | | | | | | | Convert all uses of kmalloc followed by memset to use kzalloc instead. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] 3261/2: remove phys_ram from struct machine_desc (part 3)Nicolas Pitre2006-03-211-4/+3
| | | | | | | | | | | | | | | | | | | | | | Patch from Nicolas Pitre This field is redundent since it must be equal to PHYS_OFFSET anyway. There is no reference to it anymore so remove it at last. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] Move IRQ enable after coprocessor number decodeRussell King2006-03-211-1/+1
| | | | | | | | | | | | | | Allow the individual coprocessor handlers to decide when to enable interrupts, rather than unconditionally enabling them. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] Remove unnecessary asm/hardware.h includesRussell King2006-03-211-1/+0
|/ | | | | | | | | asm/hardware.h is not required for the majority of processor support files, ioremap support, mm initialisation, acorn IO support, nor the debug code (which picks up its machine specific includes via debug-macros.S) Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3362/1: [cleanup] - duplicate decleration of mem_fclk_21285Ben Dooks2006-03-161-1/+0
| | | | | | | | | | Patch from Ben Dooks arch/arm/kernel/setup.c declares mem_fclk_21285 when this is already declared in include/asm-arm/system.h Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3365/1: [cleanup] header for compat.c exported functionsBen Dooks2006-03-163-2/+17
| | | | | | | | | | | | Patch from Ben Dooks arch/arm/kernel/compat.c exports two functions, convert_to_tag_list and squash_mem_tags which are not defined in any header files, and not used outside arch/arm/kernel. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3363/1: [cleanup] process.c - fix warningsBen Dooks2006-03-161-1/+2
| | | | | | | | | | | | | | | Patch from Ben Dooks Fix the following warnings from sparse: arch/arm/kernel/process.c:86:6: warning: symbol 'default_idle' was not declared. Should it be static? arch/arm/kernel/process.c:378:5: warning: symbol 'dump_fpu' was not declared. Should it be static? Include <linux/elfcore.h> for dump_fpu() decleration, and make default_idle() static as it is not used outside the file. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>