linux-stable-rt/arch/arm/kernel
Nicolas Pitre 2dede2d8e9 [ARM] 3102/1: ARM EABI: stack pointer must be 64-bit aligned after a CPU exception
Patch from Nicolas Pitre

The ARM EABI says that the stack pointer has to be 64-bit aligned for
reasons already mentioned in patch #3101 when calling C functions.

We therefore must verify and adjust sp accordingly when taking an
exception from kernel mode since sp might not necessarily be 64-bit
aligned if the exception occurs in the middle of a kernel function.

If the exception occurs while in user mode then no sp fixup is needed as
long as sizeof(struct pt_regs) as well as any additional syscall data
stack space remain multiples of 8.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-01-14 16:18:08 +00:00
..
Makefile [ARM] Refine selection of ISA_DMA_API and generic dma.c code 2006-01-04 15:44:16 +00:00
apm.c [PATCH] capable/capability.h (arch/) 2006-01-11 18:42:14 -08:00
armksyms.c
arthur.c
asm-offsets.c [PATCH] remove gcc-2 checks 2006-01-08 20:14:02 -08:00
bios32.c
calls.S
compat.c
debug.S
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] Convert some arm semaphores to mutexes 2006-01-12 18:42:23 +00:00
entry-armv.S [ARM] 3102/1: ARM EABI: stack pointer must be 64-bit aligned after a CPU exception 2006-01-14 16:18:08 +00:00
entry-common.S
entry-header.S [ARM] 3102/1: ARM EABI: stack pointer must be 64-bit aligned after a CPU exception 2006-01-14 16:18:08 +00: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] 3259/1: remove phys_ram from struct machine_desc (part 1) 2006-01-13 20:51:46 +00:00
init_task.c
io.c
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
iwmmxt.S
module.c
process.c [PATCH] arm: task_stack_page() 2006-01-12 09:08:56 -08:00
ptrace.c [PATCH] arm: task_pt_regs() 2006-01-12 09:08:55 -08:00
ptrace.h
semaphore.c
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
signal.h
smp.c [PATCH] arm: task_stack_page() 2006-01-12 09:08:56 -08:00
sys_arm.c
time.c [ARM] Cleanup ARM includes 2006-01-03 17:39:34 +00:00
traps.c [PATCH] arm: task_stack_page() 2006-01-12 09:08:56 -08:00
vmlinux.lds.S [ARM] Make kernel link address depend on PAGE_OFFSET 2006-01-03 17:28:33 +00:00