linux/arch/arm/kernel
Catalin Marinas 90303b1023 [ARM] 3256/1: Make the function-returning ldm's use sp as the base register
Patch from Catalin Marinas

If the low interrupt latency mode is enabled for the CPU (from ARMv6
onwards), the ldm/stm instructions are no longer atomic. An ldm instruction
restoring the sp and pc registers can be interrupted immediately after sp
was updated but before the pc. If this happens, the CPU restores the base
register to the value before the ldm instruction but if the base register
is not sp, the interrupt routine will corrupt the stack and the restarted
ldm instruction will load garbage.

Note that future ARM cores might always run in the low interrupt latency
mode.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-01-12 16:53:51 +00:00
..
apm.c [ARM] 3229/1: Remove uneeded ARM apm dependency on PM_LEGACY 2006-01-05 20:44:55 +00:00
armksyms.c [ARM] Fix get_user when passed a const pointer 2005-11-18 14:22:03 +00:00
arthur.c [PATCH] fix missing includes 2005-10-30 17:37:32 -08:00
asm-offsets.c [PATCH] remove gcc-2 checks 2006-01-08 20:14:02 -08:00
bios32.c [PATCH] pci and yenta: pcibios_bus_to_resource 2005-08-04 21:32:46 -07:00
calls.S [ARM] Fix sys_sendto and sys_recvfrom 6-arg syscalls 2005-12-17 15:25:42 +00:00
compat.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
debug.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dma-isa.c [ARM] Remove '__address' from scatterlist and convert to DMA API 2006-01-04 15:08:30 +00:00
dma.c [ARM] Move DMA exports to be next to each function 2006-01-04 15:52:45 +00:00
ecard.c [ARM] Fix second missing declaration of cache_is_vivt() 2005-11-06 19:47:04 +00:00
entry-armv.S [ARM] Cleanup ARM includes 2006-01-03 17:39:34 +00:00
entry-common.S [ARM] Fix sys_sendto and sys_recvfrom 6-arg syscalls 2005-12-17 15:25:42 +00:00
entry-header.S kbuild: arm - use generic asm-offsets.h support 2005-09-09 21:08:59 +02:00
fiq.c [ARM] 3256/1: Make the function-returning ldm's use sp as the base register 2006-01-12 16:53:51 +00:00
head.S [ARM] Make kernel link address depend on PAGE_OFFSET 2006-01-03 17:28:33 +00:00
init_task.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
io.c [ARM] Fix compiler warnings for memcpy_toio/memcpy_fromio/memset_io 2005-09-24 10:42:06 +01:00
irq.c [ARM] Only call set_type method in setup_irq if it's defined 2006-01-09 19:19:18 +00:00
isa.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iwmmxt.S kbuild: arm - use generic asm-offsets.h support 2005-09-09 21:08:59 +02:00
Makefile [ARM] Refine selection of ISA_DMA_API and generic dma.c code 2006-01-04 15:44:16 +00:00
module.c [ARM] 3205/1: Handle new EABI relocations when loading kernel modules. 2005-12-14 22:04:22 +00:00
process.c [ARM] Cleanup ARM includes 2006-01-03 17:39:34 +00:00
ptrace.c [ARM] 3200/1: Singlestep over ARM BX and BLX instructions using ptrace fix 2005-12-10 11:59:15 +00:00
ptrace.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
semaphore.c [ARM] Fix warning in arch/arm/kernel/semaphore.c 2005-09-18 21:49:29 +01:00
setup.c [ARM] 3234/1: Update cpu_architecture() to deal with the new ID format 2006-01-12 16:28:16 +00:00
signal.c [ARM] 3168/1: Update ARM signal delivery and masking 2005-11-19 10:01:07 +00:00
signal.h [PATCH] ARM: Move signal return code into vector page 2005-06-22 20:26:05 +01:00
smp.c [ARM] Restore apparant pointless change in arch/arm/kernel/smp.c 2005-11-12 17:21:47 +00:00
sys_arm.c [ARM] 2952/1: fix a register clobber list 2005-10-04 23:17:53 +01:00
time.c [ARM] Cleanup ARM includes 2006-01-03 17:39:34 +00:00
traps.c [ARM] Cleanup ARM includes 2006-01-03 17:39:34 +00:00
vmlinux.lds.S [ARM] Make kernel link address depend on PAGE_OFFSET 2006-01-03 17:28:33 +00:00