Skip to contentSkip to conversation

Abort booting if the DTB version is incompatible

PATCH New Timur Tabi 2 participants 3 messages Jan 25, 2007

lore
Share & tools
lore

Timur Tabi

author
#0 lore raw

PATCH 1/1 Abort booting if the DTB version is incompatible

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.

---
 common/cmd_bootm.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)
common/cmd_bootm.c +10 -0
index 0c092c7..9111cbd 100644
@@ -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;
Signature · 1 line
1.4.4
#1 lore raw

PATCH 1/1 Abort booting if the DTB version is incompatible

Quoted 5 lines · In message <[email protected]> you wrote:

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.

Is there a differnce between your two submissions of the same (?) patch?

Best regards,

Wolfgang Denk

Signature · 4 lines
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Es gibt immer genug fuer die Beduerfnisse aller, aber  niemals  genug
fuer die Gier einzelner.                                    -- Ghandi
author
#2 lore raw

PATCH 1/1 Abort booting if the DTB version is incompatible

Quoted 9 lines · Wolfgang Denk
Quoted 5 lines · In message <[email protected]> you wrote:

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.

Is there a differnce between your two submissions of the same (?) patch?

No. Sorry about that - I didn't intend to send it twice.