]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
xilinx: zynqmp: Check that DT is 64bit aligned
authorMichal Simek <michal.simek@xilinx.com>
Thu, 19 Aug 2021 09:07:59 +0000 (11:07 +0200)
committerMichal Simek <michal.simek@xilinx.com>
Thu, 26 Aug 2021 06:14:43 +0000 (08:14 +0200)
DT needs to be 64bit aligned. If it is not fdt64_to_cpu will fail when try
to read information about reserved memory. The system ends in exception
without any clue what's going it. That's why detect not aligned DT and
panic to show where the issue is coming from.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
board/xilinx/zynqmp/zynqmp.c

index e43177ea4e48788eb24ab3ca7464ea59f13362e1..ea15e62eb21eaf19c0e8effe418c46ee09f276fe 100644 (file)
@@ -470,6 +470,9 @@ ulong board_get_usable_ram_top(ulong total_size)
        phys_addr_t reg;
        struct lmb lmb;
 
+       if (!IS_ALIGNED((ulong)gd->fdt_blob, 0x8))
+               panic("Not 64bit aligned DT location: %p\n", gd->fdt_blob);
+
        /* found enough not-reserved memory to relocated U-Boot */
        lmb_init(&lmb);
        lmb_add(&lmb, gd->ram_base, gd->ram_size);