[U-Boot] [PATCH][v1] ppc/85xx,	86xx: Handling Unknown SOC version
    Wolfgang Denk 
    wd at denx.de
       
    Wed Sep  2 09:32:44 CEST 2009
    
    
  
Dear Poonam Aggrwal,
In message <1251864186-11732-1-git-send-email-poonam.aggrwal at freescale.com> you wrote:
> 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.aggrwal at freescale.com>
> Signed-off-by: Kumar Gala <galak at kernel.crashing.org>
> ---
...
> --- 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];
This looks unlogical to me. First, with this change you should change
the 'for' loop into
	for (i = 0; i < ARRAY_SIZE(cpu_type_list) - 1; i++) {
		...
	}
But all this makes the code just harder to read and understand.
Why not add a separate
	struct cpu_type cpu_type_unknown = CPU_TYPE_ENTRY(Unknown, Unknown, 1);
and then do a simple
	return &cpu_type_unknown;
?
> 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
Is this a good and reliable choice? I don't know the rules for SVR
contents... Maybe 0xFFFFFF would be better?
Best regards,
Wolfgang Denk
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"Intelligence without character is a dangerous thing."   - G. Steinem
    
    
More information about the U-Boot
mailing list