Incase the system is detected with Unknown SVR, let the system boot
with a default value and a proper message.
Now with dynamic detection of SOC properties from SVR, this is necessary
to prevent a crash. 

Signed-off-by: Poonam Aggrwal <poonam.aggr...@freescale.com>
Signed-off-by: Kumar Gala <ga...@kernel.crashing.org>
---
applies on git.am.freescale.net/mirrors/u-boot.git
 cpu/mpc85xx/cpu.c           |   10 +++-------
 cpu/mpc86xx/cpu.c           |    5 +----
 cpu/mpc8xxx/cpu.c           |    4 ++--
 include/asm-ppc/processor.h |    2 ++
 4 files changed, 8 insertions(+), 13 deletions(-)

diff --git a/cpu/mpc85xx/cpu.c b/cpu/mpc85xx/cpu.c
index 6be98dc..63bdb6f 100644
--- a/cpu/mpc85xx/cpu.c
+++ b/cpu/mpc85xx/cpu.c
@@ -69,13 +69,9 @@ int checkcpu (void)
 
        cpu = gd->cpu;
 
-       if (cpu->name) {
-               puts(cpu->name);
-               if (IS_E_PROCESSOR(svr))
-                       puts("E");
-       } else {
-               puts("Unknown");
-       }
+       puts(cpu->name);
+       if (IS_E_PROCESSOR(svr))
+               puts("E");
 
        printf(", Version: %d.%d, (0x%08x)\n", major, minor, svr);
 
diff --git a/cpu/mpc86xx/cpu.c b/cpu/mpc86xx/cpu.c
index 04409ce..e97ab6d 100644
--- a/cpu/mpc86xx/cpu.c
+++ b/cpu/mpc86xx/cpu.c
@@ -65,10 +65,7 @@ checkcpu(void)
 
        cpu = gd->cpu;
 
-       if (cpu->name)
-               puts(cpu->name);
-       else
-               puts("Unknown");
+       puts(cpu->name);
 
        printf(", Version: %d.%d, (0x%08x)\n", major, minor, svr);
        puts("Core:  ");
diff --git a/cpu/mpc8xxx/cpu.c b/cpu/mpc8xxx/cpu.c
index 339f6d9..56fb141 100644
--- a/cpu/mpc8xxx/cpu.c
+++ b/cpu/mpc8xxx/cpu.c
@@ -77,6 +77,7 @@ struct cpu_type cpu_type_list [] = {
        CPU_TYPE_ENTRY(8641, 8641, 2),
        CPU_TYPE_ENTRY(8641D, 8641D, 2),
 #endif
+       CPU_TYPE_ENTRY(Unknown, Unknown, 1),
 };
 
 struct cpu_type *identify_cpu(u32 ver)
@@ -86,8 +87,7 @@ struct cpu_type *identify_cpu(u32 ver)
                if (cpu_type_list[i].soc_ver == ver)
                        return &cpu_type_list[i];
        }
-
-       return NULL;
+       return &cpu_type_list[i-1];
 }
 
 int cpu_numcores() {
diff --git a/include/asm-ppc/processor.h b/include/asm-ppc/processor.h
index dcaf8c0..9b27634 100644
--- a/include/asm-ppc/processor.h
+++ b/include/asm-ppc/processor.h
@@ -1022,6 +1022,8 @@
 #define SVR_8641       0x809000
 #define SVR_8641D      0x809001
 
+#define SVR_Unknown    0x000000
+
 #define _GLOBAL(n)\
        .globl n;\
 n:
-- 
1.5.6.5

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to