From: David Gibson The PPC64 ABI requires the stack to be 128 byte aligned (and that can become important if AltiVec registers are saved there). In the kernel, that's usually dealt with by the fact that the stack has a page more-or-less to itself. However, the emergency stacks (used in SMP bringup and when we detect a bad stack pointer) aren't necessarily page aligned, or anything aligned for that matter. This patch applies the necessary alignement constraint to them. Signed-off-by: David Gibson Signed-off-by: Andrew Morton --- 25-akpm/arch/ppc64/kernel/pacaData.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletion(-) diff -puN arch/ppc64/kernel/pacaData.c~ppc64-page-align-emergency-stack-2 arch/ppc64/kernel/pacaData.c --- 25/arch/ppc64/kernel/pacaData.c~ppc64-page-align-emergency-stack-2 2004-07-26 16:31:30.869838272 -0700 +++ 25-akpm/arch/ppc64/kernel/pacaData.c 2004-07-26 16:31:30.872837816 -0700 @@ -29,8 +29,10 @@ extern unsigned long __toc_start; /* Stack space used when we detect a bad kernel stack pointer, and * early in SMP boots before relocation is enabled. + * + * ABI requires stack to be 128-byte aligned */ -char emergency_stack[PAGE_SIZE * NR_CPUS]; +char emergency_stack[PAGE_SIZE * NR_CPUS] __attribute__((aligned(128))); /* The Paca is an array with one entry per processor. Each contains an * ItLpPaca, which contains the information shared between the _