From: Philippe Bergheaud <felix@linux.vnet.ibm.com>
Subject: powerpc: Fix alignment of secondary cpu spin vars
Git-commit: 7d4151b5098fb0bf7f6f8d1156e1ab9d83260580
Patch-mainline: v3.13-rc4
References: bnc#863310, fate#315275, LTC#92305

Summary:     ## powerpc: add little-endian support
Description: ## Add little-endian support for POWER8.

Upstream-Description:

    Commit 5c0484e25ec0 ('powerpc: Endian safe trampoline') resulted in
    losing proper alignment of the spinlock variables used when booting
    secondary CPUs, causing some quite odd issues with failing to boot on
    PA Semi-based systems.
    
    This showed itself on ppc64_defconfig, but not on pasemi_defconfig,
    so it had gone unnoticed when I initially tested the LE patch set.
    
    Fix is to add explicit alignment instead of relying on good luck. :)
    
    [ It appears that there is a different issue with PA Semi systems
      however this fix is definitely correct so applying anyway -- BenH
    ]
    
    Fixes: 5c0484e25ec0 ('powerpc: Endian safe trampoline')
    Reported-by: Christian Zigotzky <chzigotzky@xenosoft.de>
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=67811
Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

Signed-off-by: Philippe Bergheaud <felix@linux.vnet.ibm.com>
Acked-by: Torsten Duwe <duwe@suse.de>
---
 arch/powerpc/kernel/head_64.S |    1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S
index fad2abd..4f0946d 100644
--- a/arch/powerpc/kernel/head_64.S
+++ b/arch/powerpc/kernel/head_64.S
@@ -80,6 +80,7 @@ END_FTR_SECTION(0, 1)
 	 * of the function that the cpu should jump to to continue
 	 * initialization.
 	 */
+	.balign 8
 	.globl  __secondary_hold_spinloop
 __secondary_hold_spinloop:
 	.llong	0x0
-- 
1.7.10.4

