Fix ppc64 boot with smt-enabled=off (rhbz 1173806)
This commit is contained in:
parent
1da91757c4
commit
c67568ab00
|
@ -752,6 +752,9 @@ Patch26096: cfg80211-don-t-WARN-about-two-consecutive-Country-IE.patch
|
|||
#CVE-2014-8133 rhbz 1172797 1174374
|
||||
Patch26100: x86-tls-Validate-TLS-entries-to-protect-espfix.patch
|
||||
|
||||
#rhbz 1173806
|
||||
Patch26101: powerpc-powernv-force-all-CPUs-to-be-bootable.patch
|
||||
|
||||
# git clone ssh://git.fedorahosted.org/git/kernel-arm64.git, git diff master...devel
|
||||
Patch30000: kernel-arm64.patch
|
||||
|
||||
|
@ -1475,6 +1478,9 @@ ApplyPatch cfg80211-don-t-WARN-about-two-consecutive-Country-IE.patch
|
|||
#CVE-2014-8133 rhbz 1172797 1174374
|
||||
ApplyPatch x86-tls-Validate-TLS-entries-to-protect-espfix.patch
|
||||
|
||||
#rhbz 1173806
|
||||
ApplyPatch powerpc-powernv-force-all-CPUs-to-be-bootable.patch
|
||||
|
||||
%if 0%{?aarch64patches}
|
||||
ApplyPatch kernel-arm64.patch
|
||||
%ifnarch aarch64 # this is stupid, but i want to notice before secondary koji does.
|
||||
|
@ -2294,6 +2300,7 @@ fi
|
|||
# || ||
|
||||
%changelog
|
||||
* Mon Dec 15 2014 Josh Boyer <jwboyer@fedoraproject.org>
|
||||
- Fix ppc64 boot with smt-enabled=off (rhbz 1173806)
|
||||
- CVE-2014-8133 x86: espfix(64) bypass via set_thread_area and CLONE_SETTLS (rhbz 1172797 1174374)
|
||||
|
||||
* Fri Dec 12 2014 Josh Boyer <jwboyer@fedoraproject.org>
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
From: Greg Kurz <gkurz@linux.vnet.ibm.com>
|
||||
Date: Fri, 12 Dec 2014 12:37:40 +0100
|
||||
Subject: [PATCH] powerpc/powernv: force all CPUs to be bootable
|
||||
|
||||
The subcore logic needs all the CPUs declared in the DT to be bootable,
|
||||
otherwise the kernel hangs at boot time. Since subcore support starts
|
||||
with POWER8, we can keep the current behaviour for older CPUs.
|
||||
|
||||
Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com>
|
||||
---
|
||||
arch/powerpc/platforms/powernv/smp.c | 13 ++++++++++++-
|
||||
1 file changed, 12 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/powerpc/platforms/powernv/smp.c b/arch/powerpc/platforms/powernv/smp.c
|
||||
index 5fcfcf44e3a9..52552e60df36 100644
|
||||
--- a/arch/powerpc/platforms/powernv/smp.c
|
||||
+++ b/arch/powerpc/platforms/powernv/smp.c
|
||||
@@ -185,13 +185,24 @@ static void pnv_smp_cpu_kill_self(void)
|
||||
|
||||
#endif /* CONFIG_HOTPLUG_CPU */
|
||||
|
||||
+static int pnv_cpu_bootable(unsigned int nr)
|
||||
+{
|
||||
+ /* Starting with POWER8, all CPUs need to be booted to avoid hangs
|
||||
+ * during subcore init.
|
||||
+ */
|
||||
+ if (cpu_has_feature(CPU_FTR_ARCH_207S))
|
||||
+ return 1;
|
||||
+
|
||||
+ return smp_generic_cpu_bootable(nr);
|
||||
+}
|
||||
+
|
||||
static struct smp_ops_t pnv_smp_ops = {
|
||||
.message_pass = smp_muxed_ipi_message_pass,
|
||||
.cause_ipi = NULL, /* Filled at runtime by xics_smp_probe() */
|
||||
.probe = xics_smp_probe,
|
||||
.kick_cpu = pnv_smp_kick_cpu,
|
||||
.setup_cpu = pnv_smp_setup_cpu,
|
||||
- .cpu_bootable = smp_generic_cpu_bootable,
|
||||
+ .cpu_bootable = pnv_cpu_bootable,
|
||||
#ifdef CONFIG_HOTPLUG_CPU
|
||||
.cpu_disable = pnv_smp_cpu_disable,
|
||||
.cpu_die = generic_cpu_die,
|
||||
--
|
||||
2.1.0
|
||||
|
Loading…
Reference in New Issue