[U-Boot] [PATCH][v1] ppc/85xx, 86xx: Handling Unknown SOC version
Aggrwal Poonam-B10812
Poonam.Aggrwal at freescale.com
Wed Sep 2 09:55:03 CEST 2009
> -----Original Message-----
> From: Wolfgang Denk [mailto:wd at denx.de]
> Sent: Wednesday, September 02, 2009 1:03 PM
> To: Aggrwal Poonam-B10812
> Cc: u-boot at lists.denx.de; Kumar Gala
> Subject: Re: [U-Boot] [PATCH][v1] ppc/85xx,86xx: Handling
> Unknown SOC version
>
> Dear Poonam Aggrwal,
>
> In message
> <1251864186-11732-1-git-send-email-poonam.aggrwal at freescale.co
m> 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?
>
Thanks for the comments , let me incorporate them and resend.
Regards
Poonam
> 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