[PATCH dtc] Implement the -R option and add a -S option.
David Gibson
david at gibson.dropbear.id.au
Sun Apr 15 12:22:44 EST 2007
On Sat, Apr 14, 2007 at 10:13:49PM -0400, Jerry Van Baren wrote:
> David Gibson wrote:
> > On Sat, Apr 14, 2007 at 08:58:49AM -0400, Jerry Van Baren wrote:
>
> [snip]
>
> >> On an unrelated related note, I don't believe my -R additions are
> >> actually putting out additional reserve map slots (easiest to see using
> >> the asm format output). I'm still trying to understand why not, it
> >> seemed pretty straight-forward. When I implemented it, I was looking at
> >> hexdumps of the dtb binary format and looking at the header and thought
> >> I had it working... using it with my u-boot mods shows no extra reserved
> >> slots. I'm looking into where I went wrong.
> >
> > Be careful to check the actual offsets. Bear in mind that objdump may
> > elide zero words. Also bear in mind that the only way a reader of the
> > device tree has of counting the number of reserve entries is stepping
> > through until it hits the terminating (0,0), so the extra entries will
> > just look like an early termination of the list. In this sense -R
> > doesn't add "extra slots", but just ensures that there is space after
> > the reserve map to add more entries.
>
> Hi David,
>
> It actually is OK, went back and verified it. I needed to modify the
> asm output to implement the -R extra slots which was confusing me (patch
> that you didn't like the calloc in ;-).
>
> The calloc change was actually window dressing, I was just being
> paranoid about a binary blob that is bigger than its contents (has extra
> space). The unused space is unused, so it doen't really matter if it is
> non-zero. I'll roll a new version.
Oh, I think zeroing it is correct, I'd just prefer it was done at the
callsite, rather than within xmalloc(). Strictly speaking you're
right, what's in the extra area shouldn't matter, but I don't like the
idea of potentially leaking random memory contents to file, which I
think could happen without a memset(). Because dtc is unpriveleged it
shouldn't actually matter, but it's ugly and a bad habit to establish.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
More information about the Linuxppc-dev
mailing list