[U-Boot] Linux kernel hang with FDT changes

Ronny D ronny_d37 at yahoo.com
Thu Jun 17 16:22:24 CEST 2010


I compared ft_board_setup() body with my .dts file for missing parameters, difference was timebase-frequency.
I have updated .dts file with the timebase-frequency parameter.
Now working fine
 
Thanks.
Ronny

--- On Mon, 14/6/10, Stefan Roese <sr at denx.de> wrote:


From: Stefan Roese <sr at denx.de>
Subject: Re: Linux kernel hang with FDT changes
To: "Ronny D" <ronny_d37 at yahoo.com>
Cc: "U-boot" <u-boot at lists.denx.de>
Date: Monday, 14 June, 2010, 11:27 AM


Hi Ronny,

On Monday 14 June 2010 12:00:38 Ronny D wrote:
> I am using customized ppc440 based board.

BTW: Do you plan to send the U-Boot changes to the mailing list and some time?
  
> We have created a .dtb file, u-boot should not update the file because of
> that we have added following macro in config file 
> #define CONFIG_OF_LIBFDT                 1
> #undef CONFIG_OF_BOARD_SETUP  
>  
> With the above change kernel code gets hang with following log:
> 
>  
> Movable zone start PFN for each node
> early_node_map[1] active PFN ranges
>     0: 0x00000000 -> 0x00030000
> MMU: Allocated 1088 bytes of context maps for 255 contexts
> Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 195072
> Kernel command line:
> PID hash table entries: 4096 (order: 12, 16384 bytes)
> Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
> Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
> Memory: 755584k/786432k available (1860k kernel code, 30508k reserved, 112k
> data , 60k bss, 116k init)
> Kernel virtual memory layout:
>   * 0xffffe000..0xfffff000  : fixmap
>   * 0xfde00000..0xfe000000  : consistent mem
>   * 0xfddfe000..0xfde00000  : early ioremap
>   * 0xf1000000..0xfddfe000  : vmalloc & ioremap
> SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
> NR_IRQS:512
> UIC0 (32 IRQ sources) at DCR 0x20
> UIC1 (32 IRQ sources) at DCR 0x30
> UIC1 (32 IRQ sources) at DCR 0x60
> 
>  
>  
>  
> When we debug the u-boot code by added the following flag
> #define CONFIG_OF_BOARD_SETUP   1
> Kernel works fine.
>  
> Is there any dependency of CONFIG_OF_BOARD_SETUP flag for .dtb file?

With CONFIG_OF_BOARD_SETUP defined, the function ft_board_setup() will be 
called to modify the dtb before passing it to the Linux kernel. I suggest you 
check the code to see, what exactly gets changed/patched by this routine.

Cheers,
Stefan

--
DENX Software Engineering GmbH,      MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office at denx.de




More information about the U-Boot mailing list