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