On Fri, 16 Nov 2007 13:20:09 -0600 Kumar Gala <[EMAIL PROTECTED]> wrote:
> > 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 <[EMAIL PROTECTED]> > > 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? No. This is to continue to support 440EP FPU in arch/ppc. Commit d1dfc35d3a62 switched the cputable around for EP(x)/GR(x) and arch/ppc wasn't fixed up. So without the above patch, 440EP gets detected as 440GR and the FPU isn't initialized properly. josh _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev