From: Greg Kroah-Hartman Date: Tue, 4 Feb 2014 17:53:50 +0000 (-0800) Subject: 3.13-stable patches X-Git-Tag: v3.4.79~1^2~18 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=56888ec32dc538517f080e6e6e1efecf0955fcff;p=thirdparty%2Fkernel%2Fstable-queue.git 3.13-stable patches added patches: kvm-ppc-book3s-hv-use-xics_wake_cpu-only-when-defined.patch kvm-ppc-e500-fix-bad-address-type-in-deliver_tlb_misss.patch parisc-fix-cache-flushing.patch parisc-sti_console-prefer-linux-fonts-over-built-in-rom-fonts.patch --- diff --git a/queue-3.13/kvm-ppc-book3s-hv-use-xics_wake_cpu-only-when-defined.patch b/queue-3.13/kvm-ppc-book3s-hv-use-xics_wake_cpu-only-when-defined.patch new file mode 100644 index 00000000000..e232b092519 --- /dev/null +++ b/queue-3.13/kvm-ppc-book3s-hv-use-xics_wake_cpu-only-when-defined.patch @@ -0,0 +1,44 @@ +From 48eaef0518a565d3852e301c860e1af6a6db5a84 Mon Sep 17 00:00:00 2001 +From: Andreas Schwab +Date: Mon, 30 Dec 2013 15:36:56 +0100 +Subject: KVM: PPC: Book3S HV: use xics_wake_cpu only when defined + +From: Andreas Schwab + +commit 48eaef0518a565d3852e301c860e1af6a6db5a84 upstream. + +Signed-off-by: Andreas Schwab +Signed-off-by: Alexander Graf +Signed-off-by: Greg Kroah-Hartman + +--- + arch/powerpc/kvm/book3s_hv.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +--- a/arch/powerpc/kvm/book3s_hv.c ++++ b/arch/powerpc/kvm/book3s_hv.c +@@ -85,10 +85,13 @@ static void kvmppc_fast_vcpu_kick_hv(str + + /* CPU points to the first thread of the core */ + if (cpu != me && cpu >= 0 && cpu < nr_cpu_ids) { ++#ifdef CONFIG_KVM_XICS + int real_cpu = cpu + vcpu->arch.ptid; + if (paca[real_cpu].kvm_hstate.xics_phys) + xics_wake_cpu(real_cpu); +- else if (cpu_online(cpu)) ++ else ++#endif ++ if (cpu_online(cpu)) + smp_send_reschedule(cpu); + } + put_cpu(); +@@ -1189,7 +1192,9 @@ static void kvmppc_start_thread(struct k + smp_wmb(); + #if defined(CONFIG_PPC_ICP_NATIVE) && defined(CONFIG_SMP) + if (vcpu->arch.ptid) { ++#ifdef CONFIG_KVM_XICS + xics_wake_cpu(cpu); ++#endif + ++vc->n_woken; + } + #endif diff --git a/queue-3.13/kvm-ppc-e500-fix-bad-address-type-in-deliver_tlb_misss.patch b/queue-3.13/kvm-ppc-e500-fix-bad-address-type-in-deliver_tlb_misss.patch new file mode 100644 index 00000000000..f199c1abda3 --- /dev/null +++ b/queue-3.13/kvm-ppc-e500-fix-bad-address-type-in-deliver_tlb_misss.patch @@ -0,0 +1,30 @@ +From 70713fe315ed14cd1bb07d1a7f33e973d136ae3d Mon Sep 17 00:00:00 2001 +From: Mihai Caraman +Date: Thu, 9 Jan 2014 17:01:05 +0200 +Subject: KVM: PPC: e500: Fix bad address type in deliver_tlb_misss() + +From: Mihai Caraman + +commit 70713fe315ed14cd1bb07d1a7f33e973d136ae3d upstream. + +Use gva_t instead of unsigned int for eaddr in deliver_tlb_miss(). + +Signed-off-by: Mihai Caraman +Signed-off-by: Alexander Graf +Signed-off-by: Greg Kroah-Hartman + +--- + arch/powerpc/kvm/e500_mmu.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/powerpc/kvm/e500_mmu.c ++++ b/arch/powerpc/kvm/e500_mmu.c +@@ -127,7 +127,7 @@ static int kvmppc_e500_tlb_index(struct + } + + static inline void kvmppc_e500_deliver_tlb_miss(struct kvm_vcpu *vcpu, +- unsigned int eaddr, int as) ++ gva_t eaddr, int as) + { + struct kvmppc_vcpu_e500 *vcpu_e500 = to_e500(vcpu); + unsigned int victim, tsized; diff --git a/queue-3.13/parisc-fix-cache-flushing.patch b/queue-3.13/parisc-fix-cache-flushing.patch new file mode 100644 index 00000000000..50ffb58415c --- /dev/null +++ b/queue-3.13/parisc-fix-cache-flushing.patch @@ -0,0 +1,81 @@ +From 57737c49dd72c96cfbcd4f66559f3ffc399aeb4f Mon Sep 17 00:00:00 2001 +From: Helge Deller +Date: Fri, 31 Jan 2014 21:33:17 +0100 +Subject: parisc: fix cache-flushing + +From: Helge Deller + +commit 57737c49dd72c96cfbcd4f66559f3ffc399aeb4f upstream. + +This commit: +f8dae00684d678afa13041ef170cecfd1297ed40: parisc: Ensure full cache coherency for kmap/kunmap +caused negative caching side-effects, e.g. hanging processes with expect and +too many inequivalent alias messages from flush_dcache_page() on Debian 5 systems. + +This patch now partly reverts it and has been in production use on our debian buildd +makeservers since a week without any major problems. + +Signed-off-by: Helge Deller +Signed-off-by: John David Anglin +Signed-off-by: Helge Deller +Signed-off-by: Greg Kroah-Hartman + +--- + arch/parisc/include/asm/cacheflush.h | 2 -- + arch/parisc/include/asm/page.h | 3 ++- + arch/parisc/kernel/cache.c | 14 ++++++++++++++ + 3 files changed, 16 insertions(+), 3 deletions(-) + +--- a/arch/parisc/include/asm/cacheflush.h ++++ b/arch/parisc/include/asm/cacheflush.h +@@ -132,7 +132,6 @@ void mark_rodata_ro(void); + static inline void *kmap(struct page *page) + { + might_sleep(); +- flush_dcache_page(page); + return page_address(page); + } + +@@ -144,7 +143,6 @@ static inline void kunmap(struct page *p + static inline void *kmap_atomic(struct page *page) + { + pagefault_disable(); +- flush_dcache_page(page); + return page_address(page); + } + +--- a/arch/parisc/include/asm/page.h ++++ b/arch/parisc/include/asm/page.h +@@ -29,7 +29,8 @@ struct page; + void clear_page_asm(void *page); + void copy_page_asm(void *to, void *from); + #define clear_user_page(vto, vaddr, page) clear_page_asm(vto) +-#define copy_user_page(vto, vfrom, vaddr, page) copy_page_asm(vto, vfrom) ++void copy_user_page(void *vto, void *vfrom, unsigned long vaddr, ++ struct page *pg); + + /* #define CONFIG_PARISC_TMPALIAS */ + +--- a/arch/parisc/kernel/cache.c ++++ b/arch/parisc/kernel/cache.c +@@ -388,6 +388,20 @@ void flush_kernel_dcache_page_addr(void + } + EXPORT_SYMBOL(flush_kernel_dcache_page_addr); + ++void copy_user_page(void *vto, void *vfrom, unsigned long vaddr, ++ struct page *pg) ++{ ++ /* Copy using kernel mapping. No coherency is needed (all in ++ kunmap) for the `to' page. However, the `from' page needs to ++ be flushed through a mapping equivalent to the user mapping ++ before it can be accessed through the kernel mapping. */ ++ preempt_disable(); ++ flush_dcache_page_asm(__pa(vfrom), vaddr); ++ preempt_enable(); ++ copy_page_asm(vto, vfrom); ++} ++EXPORT_SYMBOL(copy_user_page); ++ + void purge_tlb_entries(struct mm_struct *mm, unsigned long addr) + { + unsigned long flags; diff --git a/queue-3.13/parisc-sti_console-prefer-linux-fonts-over-built-in-rom-fonts.patch b/queue-3.13/parisc-sti_console-prefer-linux-fonts-over-built-in-rom-fonts.patch new file mode 100644 index 00000000000..5c95605b9a4 --- /dev/null +++ b/queue-3.13/parisc-sti_console-prefer-linux-fonts-over-built-in-rom-fonts.patch @@ -0,0 +1,62 @@ +From 8a10bc9d27ceb084b0d8be621a033a475eb9fdfd Mon Sep 17 00:00:00 2001 +From: Helge Deller +Date: Fri, 31 Jan 2014 15:39:40 +0100 +Subject: parisc/sti_console: prefer Linux fonts over built-in ROM fonts + +From: Helge Deller + +commit 8a10bc9d27ceb084b0d8be621a033a475eb9fdfd upstream. + +The built-in ROM fonts lack many necessary ASCII characters, which is +why it makes sens to prefer the Linux fonts instead if they are +available. This makes consoles on STI graphics cards which are not +supported by the stifb driver (e.g. Visualize FXe) looks much nicer. + +Signed-off-by: Helge Deller +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/video/console/sticore.c | 2 +- + lib/fonts/Kconfig | 6 +++--- + 2 files changed, 4 insertions(+), 4 deletions(-) + +--- a/drivers/video/console/sticore.c ++++ b/drivers/video/console/sticore.c +@@ -488,7 +488,7 @@ static int sti_init_glob_cfg(struct sti_ + return 0; + } + +-#ifdef CONFIG_FONTS ++#ifdef CONFIG_FONT_SUPPORT + static struct sti_cooked_font * + sti_select_fbfont(struct sti_cooked_rom *cooked_rom, const char *fbfont_name) + { +--- a/lib/fonts/Kconfig ++++ b/lib/fonts/Kconfig +@@ -9,7 +9,7 @@ if FONT_SUPPORT + + config FONTS + bool "Select compiled-in fonts" +- depends on FRAMEBUFFER_CONSOLE || STI_CONSOLE ++ depends on FRAMEBUFFER_CONSOLE + help + Say Y here if you would like to use fonts other than the default + your frame buffer console usually use. +@@ -22,7 +22,7 @@ config FONTS + + config FONT_8x8 + bool "VGA 8x8 font" if FONTS +- depends on FRAMEBUFFER_CONSOLE || STI_CONSOLE ++ depends on FRAMEBUFFER_CONSOLE + default y if !SPARC && !FONTS + help + This is the "high resolution" font for the VGA frame buffer (the one +@@ -45,7 +45,7 @@ config FONT_8x16 + + config FONT_6x11 + bool "Mac console 6x11 font (not supported by all drivers)" if FONTS +- depends on FRAMEBUFFER_CONSOLE || STI_CONSOLE ++ depends on FRAMEBUFFER_CONSOLE + default y if !SPARC && !FONTS && MAC + help + Small console font with Macintosh-style high-half glyphs. Some Mac diff --git a/queue-3.13/series b/queue-3.13/series index a0487bd336f..ac5e977ba8c 100644 --- a/queue-3.13/series +++ b/queue-3.13/series @@ -121,3 +121,7 @@ mmc-sdhci-pci-add-broken-hs200-quirk-for-intel-merrifield.patch mmc-sdhci-fix-lockdep-error-in-tuning-routine.patch mmc-sdhci-esdhc-imx-fix-access-hardirq-unsafe-lock-in-atomic-context.patch alpha-fix-broken-network-checksum.patch +parisc-sti_console-prefer-linux-fonts-over-built-in-rom-fonts.patch +parisc-fix-cache-flushing.patch +kvm-ppc-book3s-hv-use-xics_wake_cpu-only-when-defined.patch +kvm-ppc-e500-fix-bad-address-type-in-deliver_tlb_misss.patch