Browse Source

Fix padding options

"Add an option to pad the blob that is generated" broke the padding
support.  We were updating the fdt header after writing it.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
main
Kumar Gala 17 years ago committed by Jon Loeliger
parent
commit
80c72a81cf
  1. 12
      flattree.c

12
flattree.c

@ -399,6 +399,12 @@ void dt_to_blob(FILE *f, struct boot_info *bi, int version,
if (padsize > 0) if (padsize > 0)
padlen = padsize; padlen = padsize;


if (padlen > 0) {
int tsize = be32_to_cpu(fdt.totalsize);
tsize += padlen;
fdt.totalsize = cpu_to_be32(tsize);
}

/* /*
* Assemble the blob: start with the header, add with alignment * Assemble the blob: start with the header, add with alignment
* the reserve buffer, add the reserve map terminating zeroes, * the reserve buffer, add the reserve map terminating zeroes,
@ -414,12 +420,8 @@ void dt_to_blob(FILE *f, struct boot_info *bi, int version,
/* /*
* If the user asked for more space than is used, pad out the blob. * If the user asked for more space than is used, pad out the blob.
*/ */
if (padlen > 0) { if (padlen > 0)
int tsize = be32_to_cpu(fdt.totalsize);
tsize += padlen;
blob = data_append_zeroes(blob, padlen); blob = data_append_zeroes(blob, padlen);
fdt.totalsize = cpu_to_be32(tsize);
}


fwrite(blob.val, blob.len, 1, f); fwrite(blob.val, blob.len, 1, f);



Loading…
Cancel
Save