From: Greg Kroah-Hartman Date: Tue, 30 Aug 2011 22:45:03 +0000 (-0700) Subject: 3.0 patches X-Git-Tag: v3.0.5~42 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5f40599da96e94944b12354dcd30f5ae47e50b84;p=thirdparty%2Fkernel%2Fstable-queue.git 3.0 patches --- diff --git a/queue-3.0/series b/queue-3.0/series index 1c0a3610e8d..0021890e362 100644 --- a/queue-3.0/series +++ b/queue-3.0/series @@ -44,3 +44,4 @@ sparc64-set-have_c_recordmcount.patch sparc-fix-array-bounds-error-setting-up-pcic-nmi-trap.patch sparc32-sun4d-change-ipi-irq-level-to-prevent-collision.patch regulator-tps65910-add-missing-breaks-in-switch-case.patch +sparc64-only-panther-cheetah-chips-have-popc.patch diff --git a/queue-3.0/sparc64-only-panther-cheetah-chips-have-popc.patch b/queue-3.0/sparc64-only-panther-cheetah-chips-have-popc.patch new file mode 100644 index 00000000000..06f21b22585 --- /dev/null +++ b/queue-3.0/sparc64-only-panther-cheetah-chips-have-popc.patch @@ -0,0 +1,35 @@ +From 1a8e0da5937a6c87807083baa318cf8f98dac9aa Mon Sep 17 00:00:00 2001 +From: "David S. Miller" +Date: Mon, 29 Aug 2011 21:14:29 -0700 +Subject: sparc64: Only Panther cheetah+ chips have POPC. + +From: "David S. Miller" + +commit 1a8e0da5937a6c87807083baa318cf8f98dac9aa upstream. + +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman + +--- + arch/sparc/kernel/setup_64.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +--- a/arch/sparc/kernel/setup_64.c ++++ b/arch/sparc/kernel/setup_64.c +@@ -440,8 +440,14 @@ static void __init init_sparc64_elf_hwca + cap |= AV_SPARC_VIS; + if (tlb_type == cheetah || tlb_type == cheetah_plus) + cap |= AV_SPARC_VIS | AV_SPARC_VIS2; +- if (tlb_type == cheetah_plus) +- cap |= AV_SPARC_POPC; ++ if (tlb_type == cheetah_plus) { ++ unsigned long impl, ver; ++ ++ __asm__ __volatile__("rdpr %%ver, %0" : "=r" (ver)); ++ impl = ((ver >> 32) & 0xffff); ++ if (impl == PANTHER_IMPL) ++ cap |= AV_SPARC_POPC; ++ } + if (tlb_type == hypervisor) { + if (sun4v_chip_type == SUN4V_CHIP_NIAGARA1) + cap |= AV_SPARC_ASI_BLK_INIT;