Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3d1d662ef423adf6947a37e230f4d7e8ed7c9544
Commit:     3d1d662ef423adf6947a37e230f4d7e8ed7c9544
Parent:     b8b799a497e4a4bfd5fca8abc526e908b26c71e8
Author:     Josh Boyer <[EMAIL PROTECTED]>
AuthorDate: Sat Nov 17 04:29:56 2007 +1100
Committer:  Josh Boyer <[EMAIL PROTECTED]>
CommitDate: Mon Nov 19 08:22:20 2007 -0600

    [POWERPC] 4xx: Use virtual PVR value to init FPU on arch/ppc 440EP
    
    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]>
---
 arch/ppc/kernel/setup.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/arch/ppc/kernel/setup.c b/arch/ppc/kernel/setup.c
index aac88c2..5255bd8 100644
--- a/arch/ppc/kernel/setup.c
+++ b/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));
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to