[PATCH] [POWERPC] 4xx: Use virtual PVR value to init FPU on arch/ppc 440EP

Kumar Gala galak at kernel.crashing.org
Sat Nov 17 06:20:09 EST 2007


On Nov 16, 2007, at 11:29 AM, Josh Boyer wrote:

> This fixes arch/ppc 440EP platforms to setup the FPU correctly.  A  
> virtual
> PVR is used, as 440GR platforms share an identical hardware PVR  
> value and do
> not have an FPU.
>
> Signed-off-by: Josh Boyer <jwboyer at linux.vnet.ibm.com>
> Index: linux-2.6/arch/ppc/kernel/setup.c
> ===================================================================
> --- linux-2.6.orig/arch/ppc/kernel/setup.c
> +++ linux-2.6/arch/ppc/kernel/setup.c
> @@ -312,7 +312,14 @@ early_init(int r3, int r4, int r5)
> 	 * Identify the CPU type and fix up code sections
> 	 * that depend on which cpu we have.
> 	 */
> +#if defined(CONFIG_440EP) && defined(CONFIG_PPC_FPU)
> +	/* We pass the virtual PVR here for 440EP as 440EP and 440GR have
> +	 * identical PVRs and there is no reliable way to check for the FPU
> +	 */
> +	spec = identify_cpu(offset, (mfspr(SPRN_PVR) | 0x8));
> +#else
> 	spec = identify_cpu(offset, mfspr(SPRN_PVR));
> +#endif
> 	do_feature_fixups(spec->cpu_features,
> 			  PTRRELOC(&__start___ftr_fixup),
> 			  PTRRELOC(&__stop___ftr_fixup));

Are we really adding support for new processors to arch/ppc?

- k



More information about the Linuxppc-dev mailing list