[patch 4/5] Add proper node alignment for the powerpc device-tree cmdline.

Milton Miller miltonm at bga.com
Tue May 8 10:50:08 EDT 2007


On May 8, 2007, at 1:13 AM, Simon Horman wrote:
> On Mon, May 07, 2007 at 05:03:00PM -0700, Geoff Levand wrote:
>> Add proper node alignment for the powerpc device-tree cmdline.
>>
>> Fixes the runtime error 'Invalid tag 3a scanning flattened device 
>> tree !'.
>>
>> Signed-off-by: Geoff Levand <geoffrey.levand at am.sony.com>
>
> This seems ok to me, though I don't know much about the device tree.
>
> Milton, do you have any thoughts on this?
NACK

>> ---
>>  kexec/arch/ppc64/fs2dt.c |    4 ++++
>>  1 file changed, 4 insertions(+)
>>
>> --- kexec-tools-hacked.orig/kexec/arch/ppc64/fs2dt.c
>> +++ kexec-tools-hacked/kexec/arch/ppc64/fs2dt.c
>> @@ -283,6 +283,10 @@ static void putprops(char *fn, struct di
>>  			strcat(local_cmdline, " ");
>>  			cmd_len = strlen(local_cmdline);
>>  			cmd_len = cmd_len + 1;
>> +			if ((cmd_len >= 8) && ((unsigned long)dt & 0x4)) {
>> +				fprintf(stderr, "Aligning cmdline %p\n", dt);
>> +				dt++;
>> +			}
>>  			memcpy(dt, local_cmdline,cmd_len);
>>  			len = cmd_len;
>>  			*dt_len = cmd_len;
>>
>> -- 
>>

That's only half the fix.  If the propety was > 8 and is now < 8
it might need to undo this alignment, but only if it was there
before.

Please change the code to behave like the initrd, where we skip the
property totally when copying, and then insert it at the end of the
directory.   That also handles the case where the source device-tree
doesn't have the property.

milton




More information about the kexec mailing list