[linux] 01/01: [ppc64el] Invalidate ERAT on powersave wakeup for POWER9
debian-kernel at lists.debian.org
debian-kernel at lists.debian.org
Mon Sep 25 02:18:50 UTC 2017
This is an automated email from the git hooks/post-receive script.
benh pushed a commit to branch stretch
in repository linux.
commit 1aa1695bc3e9fa9fbfd010222ec966ee606322f0
Author: Ben Hutchings <ben at decadent.org.uk>
Date: Mon Sep 25 03:17:44 2017 +0100
[ppc64el] Invalidate ERAT on powersave wakeup for POWER9
Thanks to Michael Neuling for the backport.
Closes: #868887
---
debian/changelog | 1 +
...idate-erat-on-powersave-wakeup-for-power9.patch | 35 ++++++++++++++++++++++
debian/patches/series | 1 +
3 files changed, 37 insertions(+)
diff --git a/debian/changelog b/debian/changelog
index e75e616..818a75c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -125,6 +125,7 @@ linux (4.9.51-1) UNRELEASED; urgency=medium
- IRQ balancing for PCI devices
- support irq_set_affinity() in i8259 chip
- Make enum loongson_cpu_type more clear
+ * [ppc64el] Invalidate ERAT on powersave wakeup for POWER9 (Closes: #868887)
-- Ben Hutchings <ben at decadent.org.uk> Tue, 19 Sep 2017 00:38:28 +0100
diff --git a/debian/patches/bugfix/powerpc/powerpc-invalidate-erat-on-powersave-wakeup-for-power9.patch b/debian/patches/bugfix/powerpc/powerpc-invalidate-erat-on-powersave-wakeup-for-power9.patch
new file mode 100644
index 0000000..16cbe60
--- /dev/null
+++ b/debian/patches/bugfix/powerpc/powerpc-invalidate-erat-on-powersave-wakeup-for-power9.patch
@@ -0,0 +1,35 @@
+From: Benjamin Herrenschmidt <benh at kernel.crashing.org>
+Date: Sat, 24 Jun 2017 12:29:01 -0500
+Subject: powerpc/64s: Invalidate ERAT on powersave wakeup for POWER9
+Origin: https://git.kernel.org/linus/ba6d334ac230065243a92bb7cb3fd6a5f6a7f8ac
+Bug-Debian: https://bugs.debian.org/868887
+
+On POWER9 the ERAT may be incorrect on wakeup from some stop states
+that lose state. This causes random segvs and illegal instructions
+when these stop states are enabled.
+
+This patch invalidates the ERAT on wakeup on POWER9 to prevent this
+from causing a problem.
+
+Signed-off-by: Michael Neuling <mikey at neuling.org>
+Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
+Reviewed-by: Nicholas Piggin <npiggin at gmail.com>
+[mpe: Merge comment change with upstream changes]
+Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>
+---
+--- a/arch/powerpc/kernel/idle_book3s.S
++++ b/arch/powerpc/kernel/idle_book3s.S
+@@ -375,6 +375,13 @@ _GLOBAL(power9_idle_stop)
+ */
+ _GLOBAL(pnv_restore_hyp_resource)
+ BEGIN_FTR_SECTION
++ /*
++ * Workaround for POWER9, if we lost resources, the ERAT
++ * might have been mixed up and needs flushing.
++ */
++ blt cr3,1f
++ PPC_INVALIDATE_ERAT
++1:
+ ld r2,PACATOC(r13);
+ /*
+ * POWER ISA 3. Use PSSCR to determine if we
diff --git a/debian/patches/series b/debian/patches/series
index a960ecb..b70b385 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -62,6 +62,7 @@ bugfix/x86/platform-x86-ideapad-laptop-add-y520-15ikbn-to-no_hw.patch
bugfix/x86/platform-x86-ideapad-laptop-add-y720-15ikbn-to-no_hw.patch
bugfix/x86/platform-x86-ideapad-laptop-add-ideapad-v510-15ikb-t.patch
bugfix/x86/platform-x86-ideapad-laptop-add-several-models-to-no.patch
+bugfix/powerpc/powerpc-invalidate-erat-on-powersave-wakeup-for-power9.patch
# Arch features
features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/kernel/linux.git
More information about the Kernel-svn-changes
mailing list