[PATCH 6/9] powerpc: Add VSX CPU feature

Joel Schopp jschopp at austin.ibm.com
Thu Jun 19 02:28:22 EST 2008


A couple of these lines originated with me.

Signed-off-by: Joel Schopp <jschopp at austin.ibm.com>

Michael Neuling wrote:
> Add a VSX CPU feature.  Also add code to detect if VSX is available
> from the device tree.
>
> Signed-off-by: Michael Neuling <mikey at neuling.org>
> ---
>
>  arch/powerpc/kernel/prom.c     |    3 +++
>  include/asm-powerpc/cputable.h |   13 +++++++++++++
>  2 files changed, 16 insertions(+)
>
> Index: linux-2.6-ozlabs/arch/powerpc/kernel/prom.c
> ===================================================================
> --- linux-2.6-ozlabs.orig/arch/powerpc/kernel/prom.c
> +++ linux-2.6-ozlabs/arch/powerpc/kernel/prom.c
> @@ -609,6 +609,9 @@ static struct feature_property {
>  	{"altivec", 0, CPU_FTR_ALTIVEC, PPC_FEATURE_HAS_ALTIVEC},
>  	{"ibm,vmx", 1, CPU_FTR_ALTIVEC, PPC_FEATURE_HAS_ALTIVEC},
>  #endif /* CONFIG_ALTIVEC */
> +#ifdef CONFIG_VSX
> +	{"ibm,vmx", 2, CPU_FTR_VSX, PPC_FEATURE_HAS_VSX},
> +#endif /* CONFIG_VSX */
>  #ifdef CONFIG_PPC64
>  	{"ibm,dfp", 1, 0, PPC_FEATURE_HAS_DFP},
>  	{"ibm,purr", 1, CPU_FTR_PURR, 0},
> Index: linux-2.6-ozlabs/include/asm-powerpc/cputable.h
> ===================================================================
> --- linux-2.6-ozlabs.orig/include/asm-powerpc/cputable.h
> +++ linux-2.6-ozlabs/include/asm-powerpc/cputable.h
> @@ -27,6 +27,7 @@
>  #define PPC_FEATURE_HAS_DFP		0x00000400
>  #define PPC_FEATURE_POWER6_EXT		0x00000200
>  #define PPC_FEATURE_ARCH_2_06		0x00000100
> +#define PPC_FEATURE_HAS_VSX		0x00000080
>  
>  #define PPC_FEATURE_TRUE_LE		0x00000002
>  #define PPC_FEATURE_PPC_LE		0x00000001
> @@ -181,6 +182,7 @@ extern void do_feature_fixups(unsigned l
>  #define CPU_FTR_DSCR			LONG_ASM_CONST(0x0002000000000000)
>  #define CPU_FTR_1T_SEGMENT		LONG_ASM_CONST(0x0004000000000000)
>  #define CPU_FTR_NO_SLBIE_B		LONG_ASM_CONST(0x0008000000000000)
> +#define CPU_FTR_VSX			LONG_ASM_CONST(0x0010000000000000)
>  
>  #ifndef __ASSEMBLY__
>  
> @@ -199,6 +201,17 @@ extern void do_feature_fixups(unsigned l
>  #define PPC_FEATURE_HAS_ALTIVEC_COMP    0
>  #endif
>  
> +/* We only set the VSX features if the kernel was compiled with VSX
> + * support
> + */
> +#ifdef CONFIG_VSX
> +#define CPU_FTR_VSX_COMP	CPU_FTR_VSX
> +#define PPC_FEATURE_HAS_VSX_COMP PPC_FEATURE_HAS_VSX
> +#else
> +#define CPU_FTR_VSX_COMP	0
> +#define PPC_FEATURE_HAS_VSX_COMP    0
> +#endif
> +
>  /* We only set the spe features if the kernel was compiled with spe
>   * support
>   */
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev at ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
>   




More information about the Linuxppc-dev mailing list