DTC: write_dt_blob() question
David Gibson
david at gibson.dropbear.id.au
Thu Jul 14 11:28:33 EST 2005
On Wed, Jul 13, 2005 at 11:16:32AM -0500, Jon Loeliger wrote:
> David,
>
> Over in flattree.c's write_dt_blob() there is this code:
>
> make_bph(&bph, vi, reservenum, dtbuf.len, strbuf.len);
>
> /* Align the reserve map to an 8 byte boundary */
> for (i = vi->hdr_size; i < be32_to_cpu(bph.off_mem_rsvmap); i++)
> fputc(0, f);
>
> fwrite(&bph, vi->hdr_size, 1, f);
> for (i = 0; i < reservenum+1; i++)
> fwrite(&re, sizeof(re), 1, f);
>
> However, I think the boot_param_header should be emitted
> first, before the alignment:
>
> make_bph(&bph, vi, reservenum, dtbuf.len, strbuf.len);
>
> fwrite(&bph, vi->hdr_size, 1, f);
>
> /* Align the reserve map to an 8 byte boundary */
> for (i = vi->hdr_size; i < be32_to_cpu(bph.off_mem_rsvmap); i++)
> fputc(0, f);
>
> for (i = 0; i < reservenum+1; i++)
> fwrite(&re, sizeof(re), 1, f);
>
> Thoughts?
Oops, yes, stupid screwup on my part. I've really got to get this
testsuite thing going...
I've committed a fix for this, but it won't go up on the site until
I'm able to fix my laptop, unfortunately (disk died the other day).
--
David Gibson | For every complex problem there is a
david at gibson.dropbear.id.au | solution which is simple, neat and
| wrong.
http://www.ozlabs.org/people/dgibson
More information about the Linuxppc-dev
mailing list