linux-kernel-test/arch
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
..
alpha [PATCH] alpha: task_pt_regs() 2006-01-12 09:08:50 -08:00
arm [ARM] 3102/1: ARM EABI: stack pointer must be 64-bit aligned after a CPU exception 2006-01-14 16:18:08 +00:00
arm26 [PATCH] arm26: task_stack_page() 2006-01-12 09:08:57 -08:00
cris [PATCH] cris: task_thread_info() 2006-01-12 09:08:58 -08:00
frv [PATCH] frv: task_thread_info(), task_stack_page() 2006-01-12 09:08:54 -08:00
h8300 [PATCH] h8300: task_stack_page() 2006-01-12 09:08:55 -08:00
i386 [PATCH] i386: task_stack_page() 2006-01-12 09:08:52 -08:00
ia64 [PATCH] ia64: task_pt_regs() 2006-01-12 09:08:58 -08:00
m32r [PATCH] m32r: task_pt_regs(), task_stack_page(), task_thread_info() 2006-01-12 09:08:54 -08:00
m68k [PATCH] m68k: console code in head.S needs framebuffer support built in 2006-01-12 09:09:06 -08:00
m68knommu [PATCH] m68knommu: task_stack_page() 2006-01-12 09:08:55 -08:00
mips [PATCH] mips: task_stack_page() 2006-01-12 09:08:59 -08:00
parisc [PATCH] parisc: task_stack_page(), task_thread_info() 2006-01-12 09:08:55 -08:00
powerpc Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-merge 2006-01-12 10:21:22 -08:00
ppc Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-merge 2006-01-12 10:21:22 -08:00
s390 [PATCH] s390: task_stack_page() 2006-01-12 09:08:54 -08:00
sh [PATCH] sh: task_stack_page() 2006-01-12 09:08:53 -08:00
sh64 [PATCH] sh64: task_stack_page() 2006-01-12 09:08:57 -08:00
sparc [PATCH] sparc: task_stack_page() 2006-01-12 09:08:53 -08:00
sparc64 [PATCH] sparc64: task_pt_regs() 2006-01-12 09:08:52 -08:00
um [PATCH] uml: task_stack_page() 2006-01-12 09:08:53 -08:00
v850 [PATCH] v850: task_stack_page(), task_pt_regs() 2006-01-12 09:08:54 -08:00
x86_64 [PATCH] amd64: task_stack_page() 2006-01-12 09:08:51 -08:00
xtensa [PATCH] xtensa: task_pt_regs(), task_stack_page() 2006-01-12 09:08:54 -08:00