Re: [PATCH] trivial fix for 2.6.11 raid6 compilation on ppc w/Altivec
From: Andrew Morton
Date: Thu Mar 03 2005 - 21:09:26 EST
olof@xxxxxxxxxxxxxx (Olof Johansson) wrote:
>
> Here's a patch that will work for both PPC and PPC64. The proper way to
> fix this in mainline is to merge -mm's cpu_has_feature patch, but for
> the stable 2.6.11-series, this much less intrusive (i.e. just the pure
> bugfix, not the cleanup part).
>
> Signed-off-by: Olof Johansson <olof@xxxxxxxxxxxxxx>
>
>
> Index: linux-2.5/drivers/md/raid6altivec.uc
> ===================================================================
> --- linux-2.5.orig/drivers/md/raid6altivec.uc 2005-03-03 16:46:47.000000000 -0600
> +++ linux-2.5/drivers/md/raid6altivec.uc 2005-03-03 16:48:03.000000000 -0600
> @@ -108,7 +108,11 @@ int raid6_have_altivec(void);
> int raid6_have_altivec(void)
> {
> /* This assumes either all CPUs have Altivec or none does */
> +#ifdef CONFIG_PPC64
> + return cur_cpu_spec->cpu_features & CPU_FTR_ALTIVEC;
> +#else
> return cur_cpu_spec[0]->cpu_features & CPU_FTR_ALTIVEC;
> +#endif
> }
> #endif
This patch doesn't seem right - current 2.6.11 has:
return cur_cpu_spec->cpu_features & CPU_FTR_ALTIVEC;
So anyway, I fixed it up as:
--- 25/drivers/md/raid6altivec.uc~ppc-raid6-altivec-build-fix 2005-03-03 17:56:21.000000000 -0800
+++ 25-akpm/drivers/md/raid6altivec.uc 2005-03-03 17:57:50.000000000 -0800
@@ -108,7 +108,11 @@ int raid6_have_altivec(void);
int raid6_have_altivec(void)
{
/* This assumes either all CPUs have Altivec or none does */
+#ifdef CONFIG_PPC64
return cur_cpu_spec->cpu_features & CPU_FTR_ALTIVEC;
+#else
+ return cur_cpu_spec[0]->cpu_features & CPU_FTR_ALTIVEC;
+#endif
}
#endif
_
I'll assume that the above is suitable as a temp thing and I'll fix up
ppc-ppc64-abstract-cpu_feature-checks.patch
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/