2008/11/21 Simon Boman <[EMAIL PROTECTED]>: > 2008/11/21 Jerry Van Baren <[EMAIL PROTECTED]>: >> Simon Boman wrote: >>> >>> 2008/11/20 Wolfgang Denk <[EMAIL PROTECTED]>: >>>> >>>> Dear "Simon Boman", >> >> [snip] >> >>> >>> Thank you for your help, I find your example at your site >>> http://www.denx.de/wiki/DULG/DecodingUBootCrashDumps which was great! >>> >>> Now I have got find where the U-boot goes wrong: >>> >>> FDT_ERR_NOSPACE in the file: /libfdt/fdt_rw.c >>> >>> where the values is: >>> end: 007faff2 oldlen: 0 newlen: 16, fdt: 007fa000, totsize: 4096 >>> >>> Before fdt_splice is called the values is: >>> end: 007faff2 oldlen: 8 newlen: 8, fdt: 007fa000, totsize: 22219 >>> >>> Do you have any clue why it's missing 2 bytes for the fdt?? >>> >>> TIA >>> Simon >> >> Hi Simon, >> >> You probably need to use the dtc -p (pad) option when you build your fdt >> blob so that there is more space. The error message is indicating you are >> running out of space to add/modify the blob you are currently using. >> >> HTH, >> gvb >> > > Hi Jerry! > > I have tried that, but after have used 6000 bytes padding of 3900 > bytes code i don't think that is the solution. > and at the example above the fdt is 22219 bytes (19000 padding) = 0x56CB > and then the totalsize is changed to 4096 = 0x1000 which give an end > of the fdt to 007fb000 and the comparing is false when the "real end" > is 007faff2 + 10 = 007fb002 > So what is going wrong? > /Simon >
I can add that this occur after "Delete the old LMB reservation" in bootm.c and the function fdt_resize(of_flat_tree) is executing. The problem as I have understood it, is that the blob is resized so its fits one block 0x1000. But the boundary is two bytes too small.. 007faff2 + 10 = 007fb002 /Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot