[U-Boot-Users] [DNX#2007012542000021] [PATCH] Abort booting if the DTB version is incomp [...]

Timur Tabi timur at freescale.com
Wed Mar 14 20:58:37 CET 2007


Wolfgang,

I don't want to be annoying, but if you're going to apply this patch, I think it needs to 
be applied now.  There's a patch for the device tree compiler (DTC) that updates it to 
version 17, which claims to be compatible with V16.  Soon, we're going to have V3, V16, 
and V16 DTBs flying around, so U-Boot needs to make a stand on what it considers 
compatible and what it doesn't.

OTRS Notification Master wrote:
> Hello list,
> 
> inside the automatic U-Boot patch tracking system a new ticket
> [DNX#2007012542000021] was created:
> 
> <snip>
>> U-Boot only supports version 16 of the device tree file format, although
>> some
>> versions of the device tree compiler generate version 3 by default. 
>> With
>> this patch, U-Boot now checks the version number and aborts the boot
>> process
>> if the version of the device tree passed on the bootm command line is
>> not
>> compatible.
>>
>> Signed-off-by: Timur Tabi <timur at freescale.com>
>> ---
>>  common/cmd_bootm.c |   10 ++++++++++
>>  1 files changed, 10 insertions(+), 0 deletions(-)
>>
>> diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
>> index 0c092c7..9111cbd 100644
>> --- a/common/cmd_bootm.c
>> +++ b/common/cmd_bootm.c
>> @@ -741,6 +741,16 @@ do_bootm_linux (cmd_tbl_t *cmdtp, int fl
>>  		hdr = (image_header_t *)of_flat_tree;
>>  
>>  		if  (*(ulong *)of_flat_tree == OF_DT_HEADER) {
>> +			struct boot_param_header *bph =
>> +				(struct boot_param_header *) of_flat_tree;
>> +
>> +			if ((OF_DT_VERSION < be32_to_cpu(bph->last_comp_version)) ||
>> +			    (OF_DT_VERSION > be32_to_cpu(bph->version))) {
>> +				printf("ERROR: DTB version %u is not compatible with version %u " \
>> +				       "(last_comp_version=%u)\n", be32_to_cpu(bph->version),
>> +				       OF_DT_VERSION, be32_to_cpu(bph->last_comp_version));
>> +				return;
>> +			}
>>  #ifndef CFG_NO_FLASH
>>  			if (addr2info((ulong)of_flat_tree) != NULL)
>>  				of_data = (ulong)of_flat_tree;
>> -- 
>> 1.4.4
> </snip>
> 
> Your U-Boot support team
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys - and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> U-Boot-Users mailing list
> U-Boot-Users at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/u-boot-users


-- 
Timur Tabi
Linux Kernel Developer @ Freescale




More information about the U-Boot mailing list