Browse Source

dtc: Don't force alignment of cell list data

At present, defining a property as, say:
	foo = [abcd], <ffffffff>;

Will cause dtc to insert 2 bytes of zeros between the abcd and the
ffffffff, to align the cell form data.

Doing so seemed like a good idea at the time, but I don't believe
there are any users who actually rely on this behaviour.  Segher
claims that OF has some defined bindings which include properties an
unaligned subsection of which is interpreted as 32-bit ints (i.e. like
cell data).

Worse, this alignment will cause nothing but pain when we add
expression support to dtc (when celldata is included in a larger
bytestring expession, we won't know the size of the preceding chunk of
the expression until it's evaluated, so we would have to carry
alignment fixup information right through the expression evaluation
process).

Therefore, this patch kills off this alignment behaviour.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
main
David Gibson 17 years ago committed by Jon Loeliger
parent
commit
f7497dc6be
  1. 3
      dtc-parser.y

3
dtc-parser.y

@ -149,8 +149,7 @@ propdata: @@ -149,8 +149,7 @@ propdata:
}
| propdataprefix '<' celllist '>'
{
$$ = data_merge(data_append_align($1,
sizeof(cell_t)), $3);
$$ = data_merge($1, $3);
}
| propdataprefix '[' bytestring ']'
{

Loading…
Cancel
Save