linux: Update to v4.2.6-openpower1
- Rebased on upstream stable release v4.2.6
- Dropped "ast: Default to 8bpp on big endian", as we do not build
for big endian, and there was no interest in upstreaming this patch
- Dropped "fbcon: initialize blink interval before calling" as this is
in the upstream stable release
Signed-off-by: Joel Stanley <joel@jms.id.au>
diff --git a/openpower/linux/linux-0003-powerpc-kexec-Reset-secondary-cpu-endianess-before-k.patch b/openpower/linux/linux-0003-powerpc-kexec-Reset-secondary-cpu-endianess-before-k.patch
new file mode 100644
index 0000000..78d6a8b
--- /dev/null
+++ b/openpower/linux/linux-0003-powerpc-kexec-Reset-secondary-cpu-endianess-before-k.patch
@@ -0,0 +1,48 @@
+From a0fa3be3772983f7b96cc4133542a0eac25f6ed9 Mon Sep 17 00:00:00 2001
+From: Samuel Mendoza-Jonas <sam.mj@au1.ibm.com>
+Date: Mon, 29 Jun 2015 13:43:51 +1000
+Subject: [PATCH 03/15] powerpc/kexec: Reset secondary cpu endianess before
+ kexec
+
+If the target kernel does not inlcude the FIXUP_ENDIAN check, coming
+from a different-endian kernel will cause the target kernel to panic.
+All ppc64 kernels can handle starting in big-endian mode, so return to
+big-endian before branching into the target kernel.
+
+This mainly affects pseries as secondaries on powernv are returned to
+OPAL.
+
+Signed-off-by: Samuel Mendoza-Jonas <sam.mj@au1.ibm.com>
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ arch/powerpc/kernel/misc_64.S | 13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/arch/powerpc/kernel/misc_64.S b/arch/powerpc/kernel/misc_64.S
+index 4e314b90c75d..6e4168cf4698 100644
+--- a/arch/powerpc/kernel/misc_64.S
++++ b/arch/powerpc/kernel/misc_64.S
+@@ -475,9 +475,18 @@ _GLOBAL(kexec_wait)
+ #ifdef CONFIG_KEXEC /* use no memory without kexec */
+ lwz r4,0(r5)
+ cmpwi 0,r4,0
+- bnea 0x60
++ beq 99b
++#ifdef CONFIG_PPC_BOOK3S_64
++ li r10,0x60
++ mfmsr r11
++ clrrdi r11,r11,1 /* Clear MSR_LE */
++ mtsrr0 r10
++ mtsrr1 r11
++ rfid
++#else
++ ba 0x60
++#endif
+ #endif
+- b 99b
+
+ /* this can be in text because we won't change it until we are
+ * running in real anyways
+--
+2.6.2
+