diff options
Diffstat (limited to 'target')
-rw-r--r-- | target/config/Config.in.kernelversion | 2 | ||||
-rw-r--r-- | target/linux/config/Config.in.kernel | 4 | ||||
-rw-r--r-- | target/linux/patches/4.9.6/crisv32_ethernet_driver.patch (renamed from target/linux/patches/4.9.4/crisv32_ethernet_driver.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/4.9.6/initramfs-nosizelimit.patch (renamed from target/linux/patches/4.9.4/initramfs-nosizelimit.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/4.9.6/ld-or1k.patch (renamed from target/linux/patches/4.9.4/ld-or1k.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/4.9.6/macsonic.patch (renamed from target/linux/patches/4.9.4/macsonic.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/4.9.6/microblaze-sigaltstack.patch (renamed from target/linux/patches/4.9.4/microblaze-sigaltstack.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/4.9.6/or1k-more-ram.patch (renamed from target/linux/patches/4.9.4/or1k-more-ram.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/4.9.6/patch-realtime (renamed from target/linux/patches/4.9.4/patch-realtime) | 5882 | ||||
-rw-r--r-- | target/linux/patches/4.9.6/sh2.patch (renamed from target/linux/patches/4.9.4/sh2.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/4.9.6/startup.patch (renamed from target/linux/patches/4.9.4/startup.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/4.9.6/vdso2.patch (renamed from target/linux/patches/4.9.4/vdso2.patch) | 0 |
12 files changed, 2071 insertions, 3817 deletions
diff --git a/target/config/Config.in.kernelversion b/target/config/Config.in.kernelversion index f3b9c54bc..eacd516c2 100644 --- a/target/config/Config.in.kernelversion +++ b/target/config/Config.in.kernelversion @@ -24,7 +24,7 @@ config ADK_TARGET_KERNEL_VERSION_GIT select ADK_TARGET_KERNEL_IMAGE if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK config ADK_TARGET_KERNEL_VERSION_4_9 - bool "4.9.4" + bool "4.9.6" depends on !ADK_TARGET_ARCH_CRIS depends on !ADK_TARGET_ARCH_METAG depends on !ADK_TARGET_ARCH_NDS32 diff --git a/target/linux/config/Config.in.kernel b/target/linux/config/Config.in.kernel index e27ddb951..8086a4bf7 100644 --- a/target/linux/config/Config.in.kernel +++ b/target/linux/config/Config.in.kernel @@ -168,7 +168,7 @@ config ADK_KERNEL_PREEMPT_RTB depends on !ADK_KERNEL_OPROFILE depends on ADK_TARGET_KERNEL_VERSION_4_1 \ || ADK_TARGET_KERNEL_VERSION_4_4 \ - || ADK_TARGET_KERNEL_VERSION_4_8 + || ADK_TARGET_KERNEL_VERSION_4_9 help Preemptible Kernel (Basic RT) @@ -179,7 +179,7 @@ config ADK_KERNEL_PREEMPT_RT_FULL depends on !ADK_KERNEL_OPROFILE depends on ADK_TARGET_KERNEL_VERSION_4_1 \ || ADK_TARGET_KERNEL_VERSION_4_4 \ - || ADK_TARGET_KERNEL_VERSION_4_8 + || ADK_TARGET_KERNEL_VERSION_4_9 help Fully Preemptible Kernel (RealTime) https://www.kernel.org/pub/linux/kernel/projects/rt/ diff --git a/target/linux/patches/4.9.4/crisv32_ethernet_driver.patch b/target/linux/patches/4.9.6/crisv32_ethernet_driver.patch index 0cef202fc..0cef202fc 100644 --- a/target/linux/patches/4.9.4/crisv32_ethernet_driver.patch +++ b/target/linux/patches/4.9.6/crisv32_ethernet_driver.patch diff --git a/target/linux/patches/4.9.4/initramfs-nosizelimit.patch b/target/linux/patches/4.9.6/initramfs-nosizelimit.patch index 40d2f6bd8..40d2f6bd8 100644 --- a/target/linux/patches/4.9.4/initramfs-nosizelimit.patch +++ b/target/linux/patches/4.9.6/initramfs-nosizelimit.patch diff --git a/target/linux/patches/4.9.4/ld-or1k.patch b/target/linux/patches/4.9.6/ld-or1k.patch index 264f9166f..264f9166f 100644 --- a/target/linux/patches/4.9.4/ld-or1k.patch +++ b/target/linux/patches/4.9.6/ld-or1k.patch diff --git a/target/linux/patches/4.9.4/macsonic.patch b/target/linux/patches/4.9.6/macsonic.patch index 75a6fcad2..75a6fcad2 100644 --- a/target/linux/patches/4.9.4/macsonic.patch +++ b/target/linux/patches/4.9.6/macsonic.patch diff --git a/target/linux/patches/4.9.4/microblaze-sigaltstack.patch b/target/linux/patches/4.9.6/microblaze-sigaltstack.patch index c4064e8b9..c4064e8b9 100644 --- a/target/linux/patches/4.9.4/microblaze-sigaltstack.patch +++ b/target/linux/patches/4.9.6/microblaze-sigaltstack.patch diff --git a/target/linux/patches/4.9.4/or1k-more-ram.patch b/target/linux/patches/4.9.6/or1k-more-ram.patch index de848c838..de848c838 100644 --- a/target/linux/patches/4.9.4/or1k-more-ram.patch +++ b/target/linux/patches/4.9.6/or1k-more-ram.patch diff --git a/target/linux/patches/4.9.4/patch-realtime b/target/linux/patches/4.9.6/patch-realtime index d3a9ebee7..abc03f9f5 100644 --- a/target/linux/patches/4.9.4/patch-realtime +++ b/target/linux/patches/4.9.6/patch-realtime @@ -1,6 +1,18 @@ -diff -Nur linux-4.8.15.orig/arch/arm/include/asm/switch_to.h linux-4.8.15/arch/arm/include/asm/switch_to.h ---- linux-4.8.15.orig/arch/arm/include/asm/switch_to.h 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/arm/include/asm/switch_to.h 2017-01-01 17:07:11.543137886 +0100 +diff -Nur linux-4.9.6.orig/arch/arm/include/asm/irq.h linux-4.9.6/arch/arm/include/asm/irq.h +--- linux-4.9.6.orig/arch/arm/include/asm/irq.h 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm/include/asm/irq.h 2017-01-28 13:59:09.887654498 +0100 +@@ -22,6 +22,8 @@ + #endif + + #ifndef __ASSEMBLY__ ++#include <linux/cpumask.h> ++ + struct irqaction; + struct pt_regs; + extern void migrate_irqs(void); +diff -Nur linux-4.9.6.orig/arch/arm/include/asm/switch_to.h linux-4.9.6/arch/arm/include/asm/switch_to.h +--- linux-4.9.6.orig/arch/arm/include/asm/switch_to.h 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm/include/asm/switch_to.h 2017-01-28 13:59:09.887654498 +0100 @@ -3,6 +3,13 @@ #include <linux/thread_info.h> @@ -23,9 +35,9 @@ diff -Nur linux-4.8.15.orig/arch/arm/include/asm/switch_to.h linux-4.8.15/arch/a last = __switch_to(prev,task_thread_info(prev), task_thread_info(next)); \ } while (0) -diff -Nur linux-4.8.15.orig/arch/arm/include/asm/thread_info.h linux-4.8.15/arch/arm/include/asm/thread_info.h ---- linux-4.8.15.orig/arch/arm/include/asm/thread_info.h 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/arm/include/asm/thread_info.h 2017-01-01 17:07:11.547138137 +0100 +diff -Nur linux-4.9.6.orig/arch/arm/include/asm/thread_info.h linux-4.9.6/arch/arm/include/asm/thread_info.h +--- linux-4.9.6.orig/arch/arm/include/asm/thread_info.h 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm/include/asm/thread_info.h 2017-01-28 13:59:09.887654498 +0100 @@ -49,6 +49,7 @@ struct thread_info { unsigned long flags; /* low level flags */ @@ -62,9 +74,9 @@ diff -Nur linux-4.8.15.orig/arch/arm/include/asm/thread_info.h linux-4.8.15/arch #endif /* __KERNEL__ */ #endif /* __ASM_ARM_THREAD_INFO_H */ -diff -Nur linux-4.8.15.orig/arch/arm/Kconfig linux-4.8.15/arch/arm/Kconfig ---- linux-4.8.15.orig/arch/arm/Kconfig 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/arm/Kconfig 2017-01-01 17:07:11.487134269 +0100 +diff -Nur linux-4.9.6.orig/arch/arm/Kconfig linux-4.9.6/arch/arm/Kconfig +--- linux-4.9.6.orig/arch/arm/Kconfig 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm/Kconfig 2017-01-28 13:59:09.887654498 +0100 @@ -36,7 +36,7 @@ select HAVE_ARCH_AUDITSYSCALL if (AEABI && !OABI_COMPAT) select HAVE_ARCH_BITREVERSE if (CPU_32v7M || CPU_32v7) && !CPU_32v6 @@ -82,9 +94,9 @@ diff -Nur linux-4.8.15.orig/arch/arm/Kconfig linux-4.8.15/arch/arm/Kconfig select HAVE_RCU_TABLE_FREE if (SMP && ARM_LPAE) select HAVE_REGS_AND_STACK_ACCESS_API select HAVE_SYSCALL_TRACEPOINTS -diff -Nur linux-4.8.15.orig/arch/arm/kernel/asm-offsets.c linux-4.8.15/arch/arm/kernel/asm-offsets.c ---- linux-4.8.15.orig/arch/arm/kernel/asm-offsets.c 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/arm/kernel/asm-offsets.c 2017-01-01 17:07:11.587140711 +0100 +diff -Nur linux-4.9.6.orig/arch/arm/kernel/asm-offsets.c linux-4.9.6/arch/arm/kernel/asm-offsets.c +--- linux-4.9.6.orig/arch/arm/kernel/asm-offsets.c 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm/kernel/asm-offsets.c 2017-01-28 13:59:09.887654498 +0100 @@ -65,6 +65,7 @@ BLANK(); DEFINE(TI_FLAGS, offsetof(struct thread_info, flags)); @@ -93,9 +105,9 @@ diff -Nur linux-4.8.15.orig/arch/arm/kernel/asm-offsets.c linux-4.8.15/arch/arm/ DEFINE(TI_ADDR_LIMIT, offsetof(struct thread_info, addr_limit)); DEFINE(TI_TASK, offsetof(struct thread_info, task)); DEFINE(TI_CPU, offsetof(struct thread_info, cpu)); -diff -Nur linux-4.8.15.orig/arch/arm/kernel/entry-armv.S linux-4.8.15/arch/arm/kernel/entry-armv.S ---- linux-4.8.15.orig/arch/arm/kernel/entry-armv.S 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/arm/kernel/entry-armv.S 2017-01-01 17:07:11.611142259 +0100 +diff -Nur linux-4.9.6.orig/arch/arm/kernel/entry-armv.S linux-4.9.6/arch/arm/kernel/entry-armv.S +--- linux-4.9.6.orig/arch/arm/kernel/entry-armv.S 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm/kernel/entry-armv.S 2017-01-28 13:59:09.887654498 +0100 @@ -220,11 +220,18 @@ #ifdef CONFIG_PREEMPT @@ -133,9 +145,9 @@ diff -Nur linux-4.8.15.orig/arch/arm/kernel/entry-armv.S linux-4.8.15/arch/arm/k #endif __und_fault: -diff -Nur linux-4.8.15.orig/arch/arm/kernel/entry-common.S linux-4.8.15/arch/arm/kernel/entry-common.S ---- linux-4.8.15.orig/arch/arm/kernel/entry-common.S 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/arm/kernel/entry-common.S 2017-01-01 17:07:11.615142513 +0100 +diff -Nur linux-4.9.6.orig/arch/arm/kernel/entry-common.S linux-4.9.6/arch/arm/kernel/entry-common.S +--- linux-4.9.6.orig/arch/arm/kernel/entry-common.S 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm/kernel/entry-common.S 2017-01-28 13:59:09.887654498 +0100 @@ -36,7 +36,9 @@ UNWIND(.cantunwind ) disable_irq_notrace @ disable interrupts @@ -160,9 +172,9 @@ diff -Nur linux-4.8.15.orig/arch/arm/kernel/entry-common.S linux-4.8.15/arch/arm UNWIND(.fnend ) ENDPROC(ret_fast_syscall) -diff -Nur linux-4.8.15.orig/arch/arm/kernel/patch.c linux-4.8.15/arch/arm/kernel/patch.c ---- linux-4.8.15.orig/arch/arm/kernel/patch.c 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/arm/kernel/patch.c 2017-01-01 17:07:11.623143039 +0100 +diff -Nur linux-4.9.6.orig/arch/arm/kernel/patch.c linux-4.9.6/arch/arm/kernel/patch.c +--- linux-4.9.6.orig/arch/arm/kernel/patch.c 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm/kernel/patch.c 2017-01-28 13:59:09.895654805 +0100 @@ -15,7 +15,7 @@ unsigned int insn; }; @@ -190,10 +202,10 @@ diff -Nur linux-4.8.15.orig/arch/arm/kernel/patch.c linux-4.8.15/arch/arm/kernel else __release(&patch_lock); } -diff -Nur linux-4.8.15.orig/arch/arm/kernel/process.c linux-4.8.15/arch/arm/kernel/process.c ---- linux-4.8.15.orig/arch/arm/kernel/process.c 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/arm/kernel/process.c 2017-01-01 17:07:11.631143548 +0100 -@@ -323,6 +323,30 @@ +diff -Nur linux-4.9.6.orig/arch/arm/kernel/process.c linux-4.9.6/arch/arm/kernel/process.c +--- linux-4.9.6.orig/arch/arm/kernel/process.c 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm/kernel/process.c 2017-01-28 13:59:09.895654805 +0100 +@@ -322,6 +322,30 @@ } #ifdef CONFIG_MMU @@ -224,9 +236,9 @@ diff -Nur linux-4.8.15.orig/arch/arm/kernel/process.c linux-4.8.15/arch/arm/kern #ifdef CONFIG_KUSER_HELPERS /* * The vectors page is always readable from user space for the -diff -Nur linux-4.8.15.orig/arch/arm/kernel/signal.c linux-4.8.15/arch/arm/kernel/signal.c ---- linux-4.8.15.orig/arch/arm/kernel/signal.c 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/arm/kernel/signal.c 2017-01-01 17:07:11.659145353 +0100 +diff -Nur linux-4.9.6.orig/arch/arm/kernel/signal.c linux-4.9.6/arch/arm/kernel/signal.c +--- linux-4.9.6.orig/arch/arm/kernel/signal.c 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm/kernel/signal.c 2017-01-28 13:59:09.895654805 +0100 @@ -572,7 +572,8 @@ */ trace_hardirqs_off(); @@ -237,9 +249,9 @@ diff -Nur linux-4.8.15.orig/arch/arm/kernel/signal.c linux-4.8.15/arch/arm/kerne schedule(); } else { if (unlikely(!user_mode(regs))) -diff -Nur linux-4.8.15.orig/arch/arm/kernel/smp.c linux-4.8.15/arch/arm/kernel/smp.c ---- linux-4.8.15.orig/arch/arm/kernel/smp.c 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/arm/kernel/smp.c 2017-01-01 17:07:11.671146131 +0100 +diff -Nur linux-4.9.6.orig/arch/arm/kernel/smp.c linux-4.9.6/arch/arm/kernel/smp.c +--- linux-4.9.6.orig/arch/arm/kernel/smp.c 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm/kernel/smp.c 2017-01-28 13:59:09.895654805 +0100 @@ -234,8 +234,6 @@ flush_cache_louis(); local_flush_tlb_all(); @@ -259,9 +271,9 @@ diff -Nur linux-4.8.15.orig/arch/arm/kernel/smp.c linux-4.8.15/arch/arm/kernel/s pr_notice("CPU%u: shutdown\n", cpu); /* -diff -Nur linux-4.8.15.orig/arch/arm/kernel/unwind.c linux-4.8.15/arch/arm/kernel/unwind.c ---- linux-4.8.15.orig/arch/arm/kernel/unwind.c 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/arm/kernel/unwind.c 2017-01-01 17:07:11.671146131 +0100 +diff -Nur linux-4.9.6.orig/arch/arm/kernel/unwind.c linux-4.9.6/arch/arm/kernel/unwind.c +--- linux-4.9.6.orig/arch/arm/kernel/unwind.c 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm/kernel/unwind.c 2017-01-28 13:59:09.895654805 +0100 @@ -93,7 +93,7 @@ static const struct unwind_idx *__origin_unwind_idx; extern const struct unwind_idx __stop_unwind_idx[]; @@ -313,10 +325,10 @@ diff -Nur linux-4.8.15.orig/arch/arm/kernel/unwind.c linux-4.8.15/arch/arm/kerne kfree(tab); } -diff -Nur linux-4.8.15.orig/arch/arm/kvm/arm.c linux-4.8.15/arch/arm/kvm/arm.c ---- linux-4.8.15.orig/arch/arm/kvm/arm.c 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/arm/kvm/arm.c 2017-01-01 17:07:11.675146381 +0100 -@@ -584,7 +584,7 @@ +diff -Nur linux-4.9.6.orig/arch/arm/kvm/arm.c linux-4.9.6/arch/arm/kvm/arm.c +--- linux-4.9.6.orig/arch/arm/kvm/arm.c 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm/kvm/arm.c 2017-01-28 13:59:09.895654805 +0100 +@@ -619,7 +619,7 @@ * involves poking the GIC, which must be done in a * non-preemptible context. */ @@ -325,7 +337,7 @@ diff -Nur linux-4.8.15.orig/arch/arm/kvm/arm.c linux-4.8.15/arch/arm/kvm/arm.c kvm_pmu_flush_hwstate(vcpu); kvm_timer_flush_hwstate(vcpu); kvm_vgic_flush_hwstate(vcpu); -@@ -605,7 +605,7 @@ +@@ -640,7 +640,7 @@ kvm_pmu_sync_hwstate(vcpu); kvm_timer_sync_hwstate(vcpu); kvm_vgic_sync_hwstate(vcpu); @@ -334,7 +346,7 @@ diff -Nur linux-4.8.15.orig/arch/arm/kvm/arm.c linux-4.8.15/arch/arm/kvm/arm.c continue; } -@@ -661,7 +661,7 @@ +@@ -696,7 +696,7 @@ kvm_vgic_sync_hwstate(vcpu); @@ -343,9 +355,9 @@ diff -Nur linux-4.8.15.orig/arch/arm/kvm/arm.c linux-4.8.15/arch/arm/kvm/arm.c ret = handle_exit(vcpu, run, ret); } -diff -Nur linux-4.8.15.orig/arch/arm/mach-exynos/platsmp.c linux-4.8.15/arch/arm/mach-exynos/platsmp.c ---- linux-4.8.15.orig/arch/arm/mach-exynos/platsmp.c 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/arm/mach-exynos/platsmp.c 2017-01-01 17:07:11.707148443 +0100 +diff -Nur linux-4.9.6.orig/arch/arm/mach-exynos/platsmp.c linux-4.9.6/arch/arm/mach-exynos/platsmp.c +--- linux-4.9.6.orig/arch/arm/mach-exynos/platsmp.c 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm/mach-exynos/platsmp.c 2017-01-28 13:59:09.895654805 +0100 @@ -229,7 +229,7 @@ return (void __iomem *)(S5P_VA_SCU); } @@ -393,9 +405,9 @@ diff -Nur linux-4.8.15.orig/arch/arm/mach-exynos/platsmp.c linux-4.8.15/arch/arm return pen_release != -1 ? ret : 0; } -diff -Nur linux-4.8.15.orig/arch/arm/mach-hisi/platmcpm.c linux-4.8.15/arch/arm/mach-hisi/platmcpm.c ---- linux-4.8.15.orig/arch/arm/mach-hisi/platmcpm.c 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/arm/mach-hisi/platmcpm.c 2017-01-01 17:07:11.747151017 +0100 +diff -Nur linux-4.9.6.orig/arch/arm/mach-hisi/platmcpm.c linux-4.9.6/arch/arm/mach-hisi/platmcpm.c +--- linux-4.9.6.orig/arch/arm/mach-hisi/platmcpm.c 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm/mach-hisi/platmcpm.c 2017-01-28 13:59:09.895654805 +0100 @@ -61,7 +61,7 @@ static void __iomem *sysctrl, *fabric; @@ -481,9 +493,9 @@ diff -Nur linux-4.8.15.orig/arch/arm/mach-hisi/platmcpm.c linux-4.8.15/arch/arm/ return 0; } #endif -diff -Nur linux-4.8.15.orig/arch/arm/mach-omap2/omap-smp.c linux-4.8.15/arch/arm/mach-omap2/omap-smp.c ---- linux-4.8.15.orig/arch/arm/mach-omap2/omap-smp.c 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/arm/mach-omap2/omap-smp.c 2017-01-01 17:07:11.763152049 +0100 +diff -Nur linux-4.9.6.orig/arch/arm/mach-omap2/omap-smp.c linux-4.9.6/arch/arm/mach-omap2/omap-smp.c +--- linux-4.9.6.orig/arch/arm/mach-omap2/omap-smp.c 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm/mach-omap2/omap-smp.c 2017-01-28 13:59:09.895654805 +0100 @@ -64,7 +64,7 @@ .startup_addr = omap5_secondary_startup, }; @@ -522,9 +534,9 @@ diff -Nur linux-4.8.15.orig/arch/arm/mach-omap2/omap-smp.c linux-4.8.15/arch/arm return 0; } -diff -Nur linux-4.8.15.orig/arch/arm/mach-prima2/platsmp.c linux-4.8.15/arch/arm/mach-prima2/platsmp.c ---- linux-4.8.15.orig/arch/arm/mach-prima2/platsmp.c 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/arm/mach-prima2/platsmp.c 2017-01-01 17:07:11.795154111 +0100 +diff -Nur linux-4.9.6.orig/arch/arm/mach-prima2/platsmp.c linux-4.9.6/arch/arm/mach-prima2/platsmp.c +--- linux-4.9.6.orig/arch/arm/mach-prima2/platsmp.c 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm/mach-prima2/platsmp.c 2017-01-28 13:59:09.895654805 +0100 @@ -22,7 +22,7 @@ static void __iomem *clk_base; @@ -563,9 +575,9 @@ diff -Nur linux-4.8.15.orig/arch/arm/mach-prima2/platsmp.c linux-4.8.15/arch/arm return pen_release != -1 ? -ENOSYS : 0; } -diff -Nur linux-4.8.15.orig/arch/arm/mach-qcom/platsmp.c linux-4.8.15/arch/arm/mach-qcom/platsmp.c ---- linux-4.8.15.orig/arch/arm/mach-qcom/platsmp.c 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/arm/mach-qcom/platsmp.c 2017-01-01 17:07:11.803154626 +0100 +diff -Nur linux-4.9.6.orig/arch/arm/mach-qcom/platsmp.c linux-4.9.6/arch/arm/mach-qcom/platsmp.c +--- linux-4.9.6.orig/arch/arm/mach-qcom/platsmp.c 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm/mach-qcom/platsmp.c 2017-01-28 13:59:09.895654805 +0100 @@ -46,7 +46,7 @@ extern void secondary_startup_arm(void); @@ -604,9 +616,9 @@ diff -Nur linux-4.8.15.orig/arch/arm/mach-qcom/platsmp.c linux-4.8.15/arch/arm/m return ret; } -diff -Nur linux-4.8.15.orig/arch/arm/mach-spear/platsmp.c linux-4.8.15/arch/arm/mach-spear/platsmp.c ---- linux-4.8.15.orig/arch/arm/mach-spear/platsmp.c 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/arm/mach-spear/platsmp.c 2017-01-01 17:07:11.847157467 +0100 +diff -Nur linux-4.9.6.orig/arch/arm/mach-spear/platsmp.c linux-4.9.6/arch/arm/mach-spear/platsmp.c +--- linux-4.9.6.orig/arch/arm/mach-spear/platsmp.c 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm/mach-spear/platsmp.c 2017-01-28 13:59:09.895654805 +0100 @@ -32,7 +32,7 @@ sync_cache_w(&pen_release); } @@ -645,9 +657,9 @@ diff -Nur linux-4.8.15.orig/arch/arm/mach-spear/platsmp.c linux-4.8.15/arch/arm/ return pen_release != -1 ? -ENOSYS : 0; } -diff -Nur linux-4.8.15.orig/arch/arm/mach-sti/platsmp.c linux-4.8.15/arch/arm/mach-sti/platsmp.c ---- linux-4.8.15.orig/arch/arm/mach-sti/platsmp.c 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/arm/mach-sti/platsmp.c 2017-01-01 17:07:11.851157720 +0100 +diff -Nur linux-4.9.6.orig/arch/arm/mach-sti/platsmp.c linux-4.9.6/arch/arm/mach-sti/platsmp.c +--- linux-4.9.6.orig/arch/arm/mach-sti/platsmp.c 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm/mach-sti/platsmp.c 2017-01-28 13:59:09.895654805 +0100 @@ -35,7 +35,7 @@ sync_cache_w(&pen_release); } @@ -686,9 +698,9 @@ diff -Nur linux-4.8.15.orig/arch/arm/mach-sti/platsmp.c linux-4.8.15/arch/arm/ma return pen_release != -1 ? -ENOSYS : 0; } -diff -Nur linux-4.8.15.orig/arch/arm/mm/fault.c linux-4.8.15/arch/arm/mm/fault.c ---- linux-4.8.15.orig/arch/arm/mm/fault.c 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/arm/mm/fault.c 2017-01-01 17:07:11.879159524 +0100 +diff -Nur linux-4.9.6.orig/arch/arm/mm/fault.c linux-4.9.6/arch/arm/mm/fault.c +--- linux-4.9.6.orig/arch/arm/mm/fault.c 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm/mm/fault.c 2017-01-28 13:59:09.895654805 +0100 @@ -430,6 +430,9 @@ if (addr < TASK_SIZE) return do_page_fault(addr, fsr, regs); @@ -709,9 +721,9 @@ diff -Nur linux-4.8.15.orig/arch/arm/mm/fault.c linux-4.8.15/arch/arm/mm/fault.c do_bad_area(addr, fsr, regs); return 0; } -diff -Nur linux-4.8.15.orig/arch/arm/mm/highmem.c linux-4.8.15/arch/arm/mm/highmem.c ---- linux-4.8.15.orig/arch/arm/mm/highmem.c 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/arm/mm/highmem.c 2017-01-01 17:07:11.879159524 +0100 +diff -Nur linux-4.9.6.orig/arch/arm/mm/highmem.c linux-4.9.6/arch/arm/mm/highmem.c +--- linux-4.9.6.orig/arch/arm/mm/highmem.c 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm/mm/highmem.c 2017-01-28 13:59:09.895654805 +0100 @@ -34,6 +34,11 @@ return *ptep; } @@ -842,9 +854,9 @@ diff -Nur linux-4.8.15.orig/arch/arm/mm/highmem.c linux-4.8.15/arch/arm/mm/highm + } +} +#endif -diff -Nur linux-4.8.15.orig/arch/arm/plat-versatile/platsmp.c linux-4.8.15/arch/arm/plat-versatile/platsmp.c ---- linux-4.8.15.orig/arch/arm/plat-versatile/platsmp.c 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/arm/plat-versatile/platsmp.c 2017-01-01 17:07:11.939163389 +0100 +diff -Nur linux-4.9.6.orig/arch/arm/plat-versatile/platsmp.c linux-4.9.6/arch/arm/plat-versatile/platsmp.c +--- linux-4.9.6.orig/arch/arm/plat-versatile/platsmp.c 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm/plat-versatile/platsmp.c 2017-01-28 13:59:09.895654805 +0100 @@ -32,7 +32,7 @@ sync_cache_w(&pen_release); } @@ -883,9 +895,9 @@ diff -Nur linux-4.8.15.orig/arch/arm/plat-versatile/platsmp.c linux-4.8.15/arch/ return pen_release != -1 ? -ENOSYS : 0; } -diff -Nur linux-4.8.15.orig/arch/arm64/include/asm/thread_info.h linux-4.8.15/arch/arm64/include/asm/thread_info.h ---- linux-4.8.15.orig/arch/arm64/include/asm/thread_info.h 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/arm64/include/asm/thread_info.h 2017-01-01 17:07:12.027169062 +0100 +diff -Nur linux-4.9.6.orig/arch/arm64/include/asm/thread_info.h linux-4.9.6/arch/arm64/include/asm/thread_info.h +--- linux-4.9.6.orig/arch/arm64/include/asm/thread_info.h 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm64/include/asm/thread_info.h 2017-01-28 13:59:09.895654805 +0100 @@ -49,6 +49,7 @@ mm_segment_t addr_limit; /* address limit */ struct task_struct *task; /* main task structure */ @@ -894,7 +906,7 @@ diff -Nur linux-4.8.15.orig/arch/arm64/include/asm/thread_info.h linux-4.8.15/ar int cpu; /* cpu */ }; -@@ -109,6 +110,7 @@ +@@ -112,6 +113,7 @@ #define TIF_NEED_RESCHED 1 #define TIF_NOTIFY_RESUME 2 /* callback before returning to user */ #define TIF_FOREIGN_FPSTATE 3 /* CPU's FP state is not current's */ @@ -902,7 +914,7 @@ diff -Nur linux-4.8.15.orig/arch/arm64/include/asm/thread_info.h linux-4.8.15/ar #define TIF_NOHZ 7 #define TIF_SYSCALL_TRACE 8 #define TIF_SYSCALL_AUDIT 9 -@@ -124,6 +126,7 @@ +@@ -127,6 +129,7 @@ #define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED) #define _TIF_NOTIFY_RESUME (1 << TIF_NOTIFY_RESUME) #define _TIF_FOREIGN_FPSTATE (1 << TIF_FOREIGN_FPSTATE) @@ -910,20 +922,21 @@ diff -Nur linux-4.8.15.orig/arch/arm64/include/asm/thread_info.h linux-4.8.15/ar #define _TIF_NOHZ (1 << TIF_NOHZ) #define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE) #define _TIF_SYSCALL_AUDIT (1 << TIF_SYSCALL_AUDIT) -@@ -132,7 +135,8 @@ +@@ -135,7 +138,9 @@ #define _TIF_32BIT (1 << TIF_32BIT) #define _TIF_WORK_MASK (_TIF_NEED_RESCHED | _TIF_SIGPENDING | \ - _TIF_NOTIFY_RESUME | _TIF_FOREIGN_FPSTATE) + _TIF_NOTIFY_RESUME | _TIF_FOREIGN_FPSTATE | \ + _TIF_NEED_RESCHED_LAZY) ++#define _TIF_NEED_RESCHED_MASK (_TIF_NEED_RESCHED | _TIF_NEED_RESCHED_LAZY) #define _TIF_SYSCALL_WORK (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT | \ _TIF_SYSCALL_TRACEPOINT | _TIF_SECCOMP | \ -diff -Nur linux-4.8.15.orig/arch/arm64/Kconfig linux-4.8.15/arch/arm64/Kconfig ---- linux-4.8.15.orig/arch/arm64/Kconfig 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/arm64/Kconfig 2017-01-01 17:07:11.979165970 +0100 -@@ -90,6 +90,7 @@ +diff -Nur linux-4.9.6.orig/arch/arm64/Kconfig linux-4.9.6/arch/arm64/Kconfig +--- linux-4.9.6.orig/arch/arm64/Kconfig 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm64/Kconfig 2017-01-28 13:59:09.895654805 +0100 +@@ -91,6 +91,7 @@ select HAVE_PERF_EVENTS select HAVE_PERF_REGS select HAVE_PERF_USER_STACK_DUMP @@ -931,7 +944,7 @@ diff -Nur linux-4.8.15.orig/arch/arm64/Kconfig linux-4.8.15/arch/arm64/Kconfig select HAVE_REGS_AND_STACK_ACCESS_API select HAVE_RCU_TABLE_FREE select HAVE_SYSCALL_TRACEPOINTS -@@ -689,7 +690,7 @@ +@@ -694,7 +695,7 @@ config XEN bool "Xen guest support on ARM64" @@ -940,10 +953,10 @@ diff -Nur linux-4.8.15.orig/arch/arm64/Kconfig linux-4.8.15/arch/arm64/Kconfig select SWIOTLB_XEN select PARAVIRT help -diff -Nur linux-4.8.15.orig/arch/arm64/kernel/asm-offsets.c linux-4.8.15/arch/arm64/kernel/asm-offsets.c ---- linux-4.8.15.orig/arch/arm64/kernel/asm-offsets.c 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/arm64/kernel/asm-offsets.c 2017-01-01 17:07:12.079172403 +0100 -@@ -37,6 +37,7 @@ +diff -Nur linux-4.9.6.orig/arch/arm64/kernel/asm-offsets.c linux-4.9.6/arch/arm64/kernel/asm-offsets.c +--- linux-4.9.6.orig/arch/arm64/kernel/asm-offsets.c 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm64/kernel/asm-offsets.c 2017-01-28 13:59:09.895654805 +0100 +@@ -38,6 +38,7 @@ BLANK(); DEFINE(TI_FLAGS, offsetof(struct thread_info, flags)); DEFINE(TI_PREEMPT, offsetof(struct thread_info, preempt_count)); @@ -951,10 +964,10 @@ diff -Nur linux-4.8.15.orig/arch/arm64/kernel/asm-offsets.c linux-4.8.15/arch/ar DEFINE(TI_ADDR_LIMIT, offsetof(struct thread_info, addr_limit)); DEFINE(TI_TASK, offsetof(struct thread_info, task)); DEFINE(TI_CPU, offsetof(struct thread_info, cpu)); -diff -Nur linux-4.8.15.orig/arch/arm64/kernel/entry.S linux-4.8.15/arch/arm64/kernel/entry.S ---- linux-4.8.15.orig/arch/arm64/kernel/entry.S 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/arm64/kernel/entry.S 2017-01-01 17:07:12.083172658 +0100 -@@ -434,11 +434,16 @@ +diff -Nur linux-4.9.6.orig/arch/arm64/kernel/entry.S linux-4.9.6/arch/arm64/kernel/entry.S +--- linux-4.9.6.orig/arch/arm64/kernel/entry.S 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm64/kernel/entry.S 2017-01-28 13:59:09.895654805 +0100 +@@ -428,11 +428,16 @@ #ifdef CONFIG_PREEMPT ldr w24, [tsk, #TI_PREEMPT] // get preempt count @@ -974,7 +987,7 @@ diff -Nur linux-4.8.15.orig/arch/arm64/kernel/entry.S linux-4.8.15/arch/arm64/ke #endif #ifdef CONFIG_TRACE_IRQFLAGS bl trace_hardirqs_on -@@ -452,6 +457,7 @@ +@@ -446,6 +451,7 @@ 1: bl preempt_schedule_irq // irq en/disable is done inside ldr x0, [tsk, #TI_FLAGS] // get new tasks TI_FLAGS tbnz x0, #TIF_NEED_RESCHED, 1b // needs rescheduling? @@ -982,17 +995,21 @@ diff -Nur linux-4.8.15.orig/arch/arm64/kernel/entry.S linux-4.8.15/arch/arm64/ke ret x24 #endif -@@ -708,6 +714,7 @@ - */ - work_pending: - tbnz x1, #TIF_NEED_RESCHED, work_resched -+ tbnz x1, #TIF_NEED_RESCHED_LAZY, work_resched - /* TIF_SIGPENDING, TIF_NOTIFY_RESUME or TIF_FOREIGN_FPSTATE case */ - mov x0, sp // 'regs' - enable_irq // enable interrupts for do_notify_resume() -diff -Nur linux-4.8.15.orig/arch/Kconfig linux-4.8.15/arch/Kconfig ---- linux-4.8.15.orig/arch/Kconfig 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/Kconfig 2017-01-01 17:07:11.431130672 +0100 +diff -Nur linux-4.9.6.orig/arch/arm64/kernel/signal.c linux-4.9.6/arch/arm64/kernel/signal.c +--- linux-4.9.6.orig/arch/arm64/kernel/signal.c 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/arm64/kernel/signal.c 2017-01-28 13:59:09.895654805 +0100 +@@ -409,7 +409,7 @@ + */ + trace_hardirqs_off(); + do { +- if (thread_flags & _TIF_NEED_RESCHED) { ++ if (thread_flags & _TIF_NEED_RESCHED_MASK) { + schedule(); + } else { + local_irq_enable(); +diff -Nur linux-4.9.6.orig/arch/Kconfig linux-4.9.6/arch/Kconfig +--- linux-4.9.6.orig/arch/Kconfig 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/Kconfig 2017-01-28 13:59:09.887654498 +0100 @@ -9,6 +9,7 @@ tristate "OProfile system profiling" depends on PROFILING @@ -1009,10 +1026,10 @@ diff -Nur linux-4.8.15.orig/arch/Kconfig linux-4.8.15/arch/Kconfig help This option enables a transparent branch optimization that makes certain almost-always-true or almost-always-false branch -diff -Nur linux-4.8.15.orig/arch/mips/Kconfig linux-4.8.15/arch/mips/Kconfig ---- linux-4.8.15.orig/arch/mips/Kconfig 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/mips/Kconfig 2017-01-01 17:07:12.275185025 +0100 -@@ -2480,7 +2480,7 @@ +diff -Nur linux-4.9.6.orig/arch/mips/Kconfig linux-4.9.6/arch/mips/Kconfig +--- linux-4.9.6.orig/arch/mips/Kconfig 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/mips/Kconfig 2017-01-28 13:59:09.895654805 +0100 +@@ -2514,7 +2514,7 @@ # config HIGHMEM bool "High Memory Support" @@ -1021,9 +1038,9 @@ diff -Nur linux-4.8.15.orig/arch/mips/Kconfig linux-4.8.15/arch/mips/Kconfig config CPU_SUPPORTS_HIGHMEM bool -diff -Nur linux-4.8.15.orig/arch/powerpc/include/asm/thread_info.h linux-4.8.15/arch/powerpc/include/asm/thread_info.h ---- linux-4.8.15.orig/arch/powerpc/include/asm/thread_info.h 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/powerpc/include/asm/thread_info.h 2017-01-01 17:07:12.499199453 +0100 +diff -Nur linux-4.9.6.orig/arch/powerpc/include/asm/thread_info.h linux-4.9.6/arch/powerpc/include/asm/thread_info.h +--- linux-4.9.6.orig/arch/powerpc/include/asm/thread_info.h 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/powerpc/include/asm/thread_info.h 2017-01-28 13:59:09.895654805 +0100 @@ -43,6 +43,8 @@ int cpu; /* cpu we're on */ int preempt_count; /* 0 => preemptable, @@ -1070,10 +1087,10 @@ diff -Nur linux-4.8.15.orig/arch/powerpc/include/asm/thread_info.h linux-4.8.15/ /* Bits in local_flags */ /* Don't move TLF_NAPPING without adjusting the code in entry_32.S */ -diff -Nur linux-4.8.15.orig/arch/powerpc/Kconfig linux-4.8.15/arch/powerpc/Kconfig ---- linux-4.8.15.orig/arch/powerpc/Kconfig 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/powerpc/Kconfig 2017-01-01 17:07:12.435195331 +0100 -@@ -57,10 +57,11 @@ +diff -Nur linux-4.9.6.orig/arch/powerpc/Kconfig linux-4.9.6/arch/powerpc/Kconfig +--- linux-4.9.6.orig/arch/powerpc/Kconfig 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/powerpc/Kconfig 2017-01-28 13:59:09.895654805 +0100 +@@ -52,10 +52,11 @@ config RWSEM_GENERIC_SPINLOCK bool @@ -1086,7 +1103,7 @@ diff -Nur linux-4.8.15.orig/arch/powerpc/Kconfig linux-4.8.15/arch/powerpc/Kconf config GENERIC_LOCKBREAK bool -@@ -140,6 +141,7 @@ +@@ -134,6 +135,7 @@ select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST select GENERIC_STRNCPY_FROM_USER select GENERIC_STRNLEN_USER @@ -1094,7 +1111,7 @@ diff -Nur linux-4.8.15.orig/arch/powerpc/Kconfig linux-4.8.15/arch/powerpc/Kconf select HAVE_MOD_ARCH_SPECIFIC select MODULES_USE_ELF_RELA select CLONE_BACKWARDS -@@ -326,7 +328,7 @@ +@@ -321,7 +323,7 @@ config HIGHMEM bool "High memory support" @@ -1103,9 +1120,9 @@ diff -Nur linux-4.8.15.orig/arch/powerpc/Kconfig linux-4.8.15/arch/powerpc/Kconf source kernel/Kconfig.hz source kernel/Kconfig.preempt -diff -Nur linux-4.8.15.orig/arch/powerpc/kernel/asm-offsets.c linux-4.8.15/arch/powerpc/kernel/asm-offsets.c ---- linux-4.8.15.orig/arch/powerpc/kernel/asm-offsets.c 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/powerpc/kernel/asm-offsets.c 2017-01-01 17:07:12.519200744 +0100 +diff -Nur linux-4.9.6.orig/arch/powerpc/kernel/asm-offsets.c linux-4.9.6/arch/powerpc/kernel/asm-offsets.c +--- linux-4.9.6.orig/arch/powerpc/kernel/asm-offsets.c 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/powerpc/kernel/asm-offsets.c 2017-01-28 13:59:09.895654805 +0100 @@ -156,6 +156,7 @@ DEFINE(TI_FLAGS, offsetof(struct thread_info, flags)); DEFINE(TI_LOCAL_FLAGS, offsetof(struct thread_info, local_flags)); @@ -1114,9 +1131,9 @@ diff -Nur linux-4.8.15.orig/arch/powerpc/kernel/asm-offsets.c linux-4.8.15/arch/ DEFINE(TI_TASK, offsetof(struct thread_info, task)); DEFINE(TI_CPU, offsetof(struct thread_info, cpu)); -diff -Nur linux-4.8.15.orig/arch/powerpc/kernel/entry_32.S linux-4.8.15/arch/powerpc/kernel/entry_32.S ---- linux-4.8.15.orig/arch/powerpc/kernel/entry_32.S 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/powerpc/kernel/entry_32.S 2017-01-01 17:07:12.531201514 +0100 +diff -Nur linux-4.9.6.orig/arch/powerpc/kernel/entry_32.S linux-4.9.6/arch/powerpc/kernel/entry_32.S +--- linux-4.9.6.orig/arch/powerpc/kernel/entry_32.S 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/powerpc/kernel/entry_32.S 2017-01-28 13:59:09.895654805 +0100 @@ -835,7 +835,14 @@ cmpwi 0,r0,0 /* if non-zero, just restore regs and return */ bne restore @@ -1165,10 +1182,10 @@ diff -Nur linux-4.8.15.orig/arch/powerpc/kernel/entry_32.S linux-4.8.15/arch/pow bne- do_resched andi. r0,r9,_TIF_USER_WORK_MASK beq restore_user -diff -Nur linux-4.8.15.orig/arch/powerpc/kernel/entry_64.S linux-4.8.15/arch/powerpc/kernel/entry_64.S ---- linux-4.8.15.orig/arch/powerpc/kernel/entry_64.S 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/powerpc/kernel/entry_64.S 2017-01-01 17:07:12.535201773 +0100 -@@ -657,7 +657,7 @@ +diff -Nur linux-4.9.6.orig/arch/powerpc/kernel/entry_64.S linux-4.9.6/arch/powerpc/kernel/entry_64.S +--- linux-4.9.6.orig/arch/powerpc/kernel/entry_64.S 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/powerpc/kernel/entry_64.S 2017-01-28 13:59:09.895654805 +0100 +@@ -656,7 +656,7 @@ bl restore_math b restore #endif @@ -1177,7 +1194,7 @@ diff -Nur linux-4.8.15.orig/arch/powerpc/kernel/entry_64.S linux-4.8.15/arch/pow beq 2f bl restore_interrupts SCHEDULE_USER -@@ -719,10 +719,18 @@ +@@ -718,10 +718,18 @@ #ifdef CONFIG_PREEMPT /* Check if we need to preempt */ @@ -1197,7 +1214,7 @@ diff -Nur linux-4.8.15.orig/arch/powerpc/kernel/entry_64.S linux-4.8.15/arch/pow cmpwi cr1,r8,0 ld r0,SOFTE(r1) cmpdi r0,0 -@@ -739,7 +747,7 @@ +@@ -738,7 +746,7 @@ /* Re-test flags and eventually loop */ CURRENT_THREAD_INFO(r9, r1) ld r4,TI_FLAGS(r9) @@ -1206,10 +1223,10 @@ diff -Nur linux-4.8.15.orig/arch/powerpc/kernel/entry_64.S linux-4.8.15/arch/pow bne 1b /* -diff -Nur linux-4.8.15.orig/arch/powerpc/kernel/irq.c linux-4.8.15/arch/powerpc/kernel/irq.c ---- linux-4.8.15.orig/arch/powerpc/kernel/irq.c 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/powerpc/kernel/irq.c 2017-01-01 17:07:12.539202039 +0100 -@@ -633,6 +633,7 @@ +diff -Nur linux-4.9.6.orig/arch/powerpc/kernel/irq.c linux-4.9.6/arch/powerpc/kernel/irq.c +--- linux-4.9.6.orig/arch/powerpc/kernel/irq.c 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/powerpc/kernel/irq.c 2017-01-28 13:59:09.895654805 +0100 +@@ -638,6 +638,7 @@ } } @@ -1217,7 +1234,7 @@ diff -Nur linux-4.8.15.orig/arch/powerpc/kernel/irq.c linux-4.8.15/arch/powerpc/ void do_softirq_own_stack(void) { struct thread_info *curtp, *irqtp; -@@ -650,6 +651,7 @@ +@@ -655,6 +656,7 @@ if (irqtp->flags) set_bits(irqtp->flags, &curtp->flags); } @@ -1225,10 +1242,10 @@ diff -Nur linux-4.8.15.orig/arch/powerpc/kernel/irq.c linux-4.8.15/arch/powerpc/ irq_hw_number_t virq_to_hw(unsigned int virq) { -diff -Nur linux-4.8.15.orig/arch/powerpc/kernel/misc_32.S linux-4.8.15/arch/powerpc/kernel/misc_32.S ---- linux-4.8.15.orig/arch/powerpc/kernel/misc_32.S 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/powerpc/kernel/misc_32.S 2017-01-01 17:07:12.543202293 +0100 -@@ -40,6 +40,7 @@ +diff -Nur linux-4.9.6.orig/arch/powerpc/kernel/misc_32.S linux-4.9.6/arch/powerpc/kernel/misc_32.S +--- linux-4.9.6.orig/arch/powerpc/kernel/misc_32.S 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/powerpc/kernel/misc_32.S 2017-01-28 13:59:09.895654805 +0100 +@@ -41,6 +41,7 @@ * We store the saved ksp_limit in the unused part * of the STACK_FRAME_OVERHEAD */ @@ -1236,7 +1253,7 @@ diff -Nur linux-4.8.15.orig/arch/powerpc/kernel/misc_32.S linux-4.8.15/arch/powe _GLOBAL(call_do_softirq) mflr r0 stw r0,4(r1) -@@ -56,6 +57,7 @@ +@@ -57,6 +58,7 @@ stw r10,THREAD+KSP_LIMIT(r2) mtlr r0 blr @@ -1244,10 +1261,10 @@ diff -Nur linux-4.8.15.orig/arch/powerpc/kernel/misc_32.S linux-4.8.15/arch/powe /* * void call_do_irq(struct pt_regs *regs, struct thread_info *irqtp); -diff -Nur linux-4.8.15.orig/arch/powerpc/kernel/misc_64.S linux-4.8.15/arch/powerpc/kernel/misc_64.S ---- linux-4.8.15.orig/arch/powerpc/kernel/misc_64.S 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/powerpc/kernel/misc_64.S 2017-01-01 17:07:12.543202293 +0100 -@@ -30,6 +30,7 @@ +diff -Nur linux-4.9.6.orig/arch/powerpc/kernel/misc_64.S linux-4.9.6/arch/powerpc/kernel/misc_64.S +--- linux-4.9.6.orig/arch/powerpc/kernel/misc_64.S 2017-01-26 08:25:24.000000000 +0100 ++++ linux-4.9.6/arch/powerpc/kernel/misc_64.S 2017-01-28 13:59:09.895654805 +0100 +@@ -31,6 +31,7 @@ .text @@ -1255,7 +1272,7 @@ diff -Nur linux-4.8.15.orig/arch/powerpc/kernel/misc_64.S linux-4.8.15/arch/powe _GLOBAL(call_do_softirq) mflr r0 std r0,16(r1) -@@ -40,6 +41,7 @@ +@@ -41,6 +42,7 @@ ld r0,16(r1) mtlr r0 blr @@ -1263,10 +1280,10 @@ diff -Nur linux-4.8.15.orig/arch/powerpc/kernel/misc_64.S linux-4.8.15/arch/powe _GLOBAL(call_do_irq) mflr r0 -diff -Nur linux-4.8.15.orig/arch/powerpc/kvm/Kconfig linux-4.8.15/arch/powerpc/kvm/Kconfig ---- linux-4.8.15.orig/arch/powerpc/kvm/Kconfig 2016-12-15 17:50:48.000000000 +0100 -+++ linux-4.8.15/arch/powerpc/kvm/Kconfig 2017-01-01 17:07:12.587205132 +0100 -@@ -172,6 +172,7 @@ +diff -Nur linux-4.9.6.orig/arch/powerpc/kvm/Kconfig linux-4.9.6/arch/powerpc/kvm/K |