linux/arch/arm
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
..
boot [ARM] Allow r2 to be passed through the decompressor to the kernel 2006-01-12 17:17:57 +00:00
common [ARM] Separate VIC (vectored interrupt controller) support from Versatile 2006-01-13 21:30:48 +00:00
configs [ARM] 3247/1: AT91RM9200 support for 2.6 (Cogent CSB337 & CSB637 boards) (Patch 2006-01-10 16:59:29 +00:00
kernel [ARM] 3102/1: ARM EABI: stack pointer must be 64-bit aligned after a CPU exception 2006-01-14 16:18:08 +00:00
lib [ARM] 3256/1: Make the function-returning ldm's use sp as the base register 2006-01-12 16:53:51 +00:00
mach-aaec2000 [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-at91rm9200 [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-clps711x [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-clps7500 [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-ebsa110 [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-footbridge [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-h720x [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-imx [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-integrator [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-iop3xx [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-ixp4xx [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-ixp2000 [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-l7200 [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-lh7a40x [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-omap1 [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-omap2 [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-pxa [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-realview [ARM] Remove useless 'default n' from Kconfig files 2006-01-13 21:09:17 +00:00
mach-rpc [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-s3c2410 [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-sa1100 [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-shark [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-versatile [ARM] Separate VIC (vectored interrupt controller) support from Versatile 2006-01-13 21:30:48 +00:00
mm [ARM] 3209/1: Configurable DMA-consistent memory region 2006-01-12 16:12:21 +00:00
nwfpe [ARM] 3118/1: fix and reenable nwfpe extended precision emulation for big-endian 2005-11-07 21:12:08 +00:00
oprofile [PATCH] mm: kill check_user_page_readable 2005-10-29 21:40:41 -07:00
plat-omap [ARM] Remove useless 'default n' from Kconfig files 2006-01-13 21:09:17 +00:00
tools [ARM] Update mach-types 2006-01-09 12:57:05 +00:00
vfp kbuild: arm - use generic asm-offsets.h support 2005-09-09 21:08:59 +02:00
Kconfig [ARM] Separate VIC (vectored interrupt controller) support from Versatile 2006-01-13 21:30:48 +00:00
Kconfig.debug [ARM] Fix typo in arch/arm/Kconfig.debug 2005-09-09 15:57:17 +01:00
Makefile [ARM] 3240/2: AT91RM9200 support for 2.6 (Core) 2006-01-09 17:05:41 +00:00