Release 4.4.38-openpower1
- Backports to fix building with modern binutils
* powerpc: Convert cmp to cmpd in idle enter sequence
* powerpc/boot: Request no dynamic linker for boot wrapper
Fixes open-power/op-build#776
- Add fix for our xhci workarounds. This fixes a hang in Petitboot when
shutting down with a usb device attached to an external usb hub.
* usb/xhci: allow xhci_check_bandwith in XHCI_STATE_REMOVING
Fixes open-power/op-build#775
- Move to latest upstream stable release
* Includes fixes from 4.4.36, 4.4.37, 4.4.38
The patches are now generated with git format-patch --zero-commit, which
means we get less noise in the op-build commit when patches are moved to
the new stable commit.
Signed-off-by: Joel Stanley <joel@jms.id.au>
diff --git a/openpower/linux/0011-powerpc-Convert-cmp-to-cmpd-in-idle-enter-sequence.patch b/openpower/linux/0011-powerpc-Convert-cmp-to-cmpd-in-idle-enter-sequence.patch
new file mode 100644
index 0000000..41888e3
--- /dev/null
+++ b/openpower/linux/0011-powerpc-Convert-cmp-to-cmpd-in-idle-enter-sequence.patch
@@ -0,0 +1,45 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Segher Boessenkool <segher@kernel.crashing.org>
+Date: Thu, 6 Oct 2016 13:42:19 +0000
+Subject: [PATCH 11/12] powerpc: Convert cmp to cmpd in idle enter sequence
+
+PowerPC's "cmp" instruction has four operands. Normally people write
+"cmpw" or "cmpd" for the second cmp operand 0 or 1. But, frequently
+people forget, and write "cmp" with just three operands.
+
+With older binutils this is silently accepted as if this was "cmpw",
+while often "cmpd" is wanted. With newer binutils GAS will complain
+about this for 64-bit code. For 32-bit code it still silently assumes
+"cmpw" is what is meant.
+
+In this instance the code comes directly from ISA v2.07, including the
+cmp, but cmpd is correct. Backport to stable so that new toolchains can
+build old kernels.
+
+Fixes: 948cf67c4726 ("powerpc: Add NAP mode support on Power7 in HV mode")
+Cc: stable@vger.kernel.org # v3.0
+Reviewed-by: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
+Signed-off-by: Segher Boessenkool <segher@kernel.crashing.org>
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+(cherry picked from commit 80f23935cadb1c654e81951f5a8b7ceae0acc1b4)
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ arch/powerpc/kernel/idle_power7.S | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/powerpc/kernel/idle_power7.S b/arch/powerpc/kernel/idle_power7.S
+index 112ccf497562..73f638789a38 100644
+--- a/arch/powerpc/kernel/idle_power7.S
++++ b/arch/powerpc/kernel/idle_power7.S
+@@ -44,7 +44,7 @@
+ std r0,0(r1); \
+ ptesync; \
+ ld r0,0(r1); \
+-1: cmp cr0,r0,r0; \
++1: cmpd cr0,r0,r0; \
+ bne 1b; \
+ IDLE_INST; \
+ b .
+--
+2.11.0
+