kernel: Move to Linux 4.17.4-openpower1

 powerpc/64s: Fix DT CPU features Power9 DD2.1 logic
 powerpc/64s/radix: Fix radix_kvm_prefetch_workaround paca access of not possible CPU
 powerpc/fadump: Unregister fadump on kexec down path.
 powerpc/powernv/cpuidle: Init all present cpus for deep states
 powerpc/powernv: copy/paste - Mask SO bit in CR
 powerpc/powernv/ioda2: Remove redundant free of TCE pages
 powerpc/ptrace: Fix enforcement of DAWR constraints
 powerpc/perf: Fix memory allocation for core-imc based on num_possible_cpus()
 powerpc/ptrace: Fix setting 512B aligned breakpoints with PTRACE_SET_DEBUGREG
 powerpc/pkeys: Detach execute_only key on !PROT_EXEC
 powerpc/mm/hash: Add missing isync prior to kernel stack SLB switch
 cpuidle: powernv: Fix promotion from snooze if next state disabled

Signed-off-by: Joel Stanley <joel@jms.id.au>
diff --git a/openpower/linux/0001-xhci-Reset-controller-on-xhci-shutdown.patch b/openpower/linux/0001-xhci-Reset-controller-on-xhci-shutdown.patch
index a195d74..838a239 100644
--- a/openpower/linux/0001-xhci-Reset-controller-on-xhci-shutdown.patch
+++ b/openpower/linux/0001-xhci-Reset-controller-on-xhci-shutdown.patch
@@ -1,7 +1,7 @@
 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Brian King <brking@linux.vnet.ibm.com>
 Date: Wed, 25 Oct 2017 10:42:59 +1100
-Subject: [PATCH 1/3] xhci: Reset controller on xhci shutdown
+Subject: [PATCH 1/2] xhci: Reset controller on xhci shutdown
 
 Fixes kexec boot. Without a hard reset, some USB chips will fail to
 initialize in a kexec booted kernel.
diff --git a/openpower/linux/0003-Release-OpenPower-kernel.patch b/openpower/linux/0002-Release-OpenPower-kernel.patch
similarity index 75%
rename from openpower/linux/0003-Release-OpenPower-kernel.patch
rename to openpower/linux/0002-Release-OpenPower-kernel.patch
index 7739182..46d2a50 100644
--- a/openpower/linux/0003-Release-OpenPower-kernel.patch
+++ b/openpower/linux/0002-Release-OpenPower-kernel.patch
@@ -1,7 +1,7 @@
 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Joel Stanley <joel@jms.id.au>
-Date: Mon, 4 Jun 2018 17:14:35 +0930
-Subject: [PATCH 3/3] Release OpenPower kernel
+Date: Wed, 4 Jul 2018 14:07:48 +1000
+Subject: [PATCH 2/2] Release OpenPower kernel
 
 Signed-off-by: Joel Stanley <joel@jms.id.au>
 ---
@@ -9,13 +9,13 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/Makefile b/Makefile
-index 31dc3a08295a..0b03fdaf7349 100644
+index 1d740dbe676d..15430bc142eb 100644
 --- a/Makefile
 +++ b/Makefile
 @@ -2,7 +2,7 @@
  VERSION = 4
  PATCHLEVEL = 17
- SUBLEVEL = 3
+ SUBLEVEL = 4
 -EXTRAVERSION =
 +EXTRAVERSION = -openpower1
  NAME = Merciless Moray
diff --git a/openpower/linux/0002-powerpc-perf-Fix-memory-allocation-for-core-imc-base.patch b/openpower/linux/0002-powerpc-perf-Fix-memory-allocation-for-core-imc-base.patch
deleted file mode 100644
index 76436da..0000000
--- a/openpower/linux/0002-powerpc-perf-Fix-memory-allocation-for-core-imc-base.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Anju T Sudhakar <anju@linux.vnet.ibm.com>
-Date: Fri, 11 May 2018 19:13:42 +0530
-Subject: [PATCH 2/3] powerpc/perf: Fix memory allocation for core-imc based on
- num_possible_cpus()
-
-Currently memory is allocated for core-imc based on cpu_present_mask, which has
-bit 'cpu' set iff cpu is populated. We use  (cpu number / threads per core)
-as as array index to access the memory.
-So in a system with guarded cores, since allocation happens based on
-cpu_present_mask, (cpu number / threads per core) bounds the index and leads
-to memory overflow.
-
-The issue is exposed in a guard test.
-The guard test will make some CPU's as un-available to the system during boot
-time as well as at runtime. So when the cpu is unavailable to the system during
-boot time, the memory allocation happens depending on the number of available
-cpus. And when we access the memory using (cpu number / threads per core) as the
-index the system crashes due to memory overflow.
-
-Allocating memory for core-imc based on cpu_possible_mask, which has
-bit 'cpu' set iff cpu is populatable, will fix this issue.
-
-Reported-by: Pridhiviraj Paidipeddi <ppaidipe@linux.vnet.ibm.com>
-Signed-off-by: Anju T Sudhakar <anju@linux.vnet.ibm.com>
-Reviewed-by: Balbir Singh <bsingharora@gmail.com>
-Message-Id: <1526046222-17842-1-git-send-email-anju@linux.vnet.ibm.com>
-Signed-off-by: Joel Stanley <joel@jms.id.au>
----
- arch/powerpc/perf/imc-pmu.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/arch/powerpc/perf/imc-pmu.c b/arch/powerpc/perf/imc-pmu.c
-index d7532e7b9ab5..75fb23c24ee8 100644
---- a/arch/powerpc/perf/imc-pmu.c
-+++ b/arch/powerpc/perf/imc-pmu.c
-@@ -1146,7 +1146,7 @@ static int init_nest_pmu_ref(void)
- 
- static void cleanup_all_core_imc_memory(void)
- {
--	int i, nr_cores = DIV_ROUND_UP(num_present_cpus(), threads_per_core);
-+	int i, nr_cores = DIV_ROUND_UP(num_possible_cpus(), threads_per_core);
- 	struct imc_mem_info *ptr = core_imc_pmu->mem_info;
- 	int size = core_imc_pmu->counter_mem_size;
- 
-@@ -1264,7 +1264,7 @@ static int imc_mem_init(struct imc_pmu *pmu_ptr, struct device_node *parent,
- 		if (!pmu_ptr->pmu.name)
- 			return -ENOMEM;
- 
--		nr_cores = DIV_ROUND_UP(num_present_cpus(), threads_per_core);
-+		nr_cores = DIV_ROUND_UP(num_possible_cpus(), threads_per_core);
- 		pmu_ptr->mem_info = kcalloc(nr_cores, sizeof(struct imc_mem_info),
- 								GFP_KERNEL);
-