android_kernel_xiaomi_sm7250/arch
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
..
alpha [PATCH] PCI: pci_find_device remove (alpha/kernel/sys_alcor.c) 2006-01-09 12:13:14 -08:00
arm [ARM] 3256/1: Make the function-returning ldm's use sp as the base register 2006-01-12 16:53:51 +00:00
arm26 [PATCH] tiny: Make *[ug]id16 support optional 2006-01-08 20:14:11 -08:00
cris [PATCH] tiny: Make *[ug]id16 support optional 2006-01-08 20:14:11 -08:00
frv [PATCH] PCI: arch: pci_find_device remove (frv/mb93090-mb00/pci-irq.c) 2006-01-09 12:13:15 -08:00
h8300 [PATCH] tiny: Make *[ug]id16 support optional 2006-01-08 20:14:11 -08:00
i386 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2006-01-09 18:41:42 -08:00
ia64 [PATCH] /dev/mem: validate mmap requests 2006-01-08 20:14:02 -08:00
m32r [PATCH] Don't attempt to power off if power off is not implemented 2006-01-08 20:14:00 -08:00
m68k [PATCH] tiny: Make *[ug]id16 support optional 2006-01-08 20:14:11 -08:00
m68knommu [PATCH] tiny: Make *[ug]id16 support optional 2006-01-08 20:14:11 -08:00
mips Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2006-01-09 18:41:42 -08:00
parisc [PATCH] tiny: Make *[ug]id16 support optional 2006-01-08 20:14:11 -08:00
powerpc Merge master.kernel.org:/pub/scm/linux/kernel/git/mingo/mutex-2.6 2006-01-09 17:31:38 -08:00
ppc [PATCH] PCI: pci_find_device remove (ppc/platforms/85xx/mpc85xx_cds_common.c) 2006-01-09 12:13:14 -08:00
s390 [PATCH] use ptrace_get_task_struct in various places 2006-01-08 20:13:51 -08:00
sh [PATCH] tiny: Make *[ug]id16 support optional 2006-01-08 20:14:11 -08:00
sh64 [PATCH] move rtc_interrupt() prototype to rtc.h 2006-01-08 20:13:47 -08:00
sparc [PATCH] tiny: Make *[ug]id16 support optional 2006-01-08 20:14:11 -08:00
sparc64 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2006-01-09 18:41:42 -08:00
um [PATCH] tiny: Make *[ug]id16 support optional 2006-01-08 20:14:11 -08:00
v850 [PATCH] tiny: Make *[ug]id16 support optional 2006-01-08 20:14:11 -08:00
x86_64 [CRYPTO] Allow AES C/ASM implementations to coexist 2006-01-09 14:15:39 -08:00
xtensa spelling: s/usefull/useful/ 2006-01-10 00:08:17 +01:00