]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
Nokia RX-51: Fix invalidating zImage kernel format
authorPali Rohár <pali@kernel.org>
Thu, 11 Aug 2022 20:27:21 +0000 (22:27 +0200)
committerTom Rini <trini@konsulko.com>
Sat, 20 Aug 2022 20:17:50 +0000 (16:17 -0400)
Prior starting copy of kernel image to target location, invalidate also
zImage magic header. This ensures that on target location would be image
with valid header only in the case valid header was also in the source
location and copy from source to target finished successfully. Copy is
always skipped when kernel image in source location is invalid.

Add also comment to the code which explain what is the code doing.

Fixes: cc434fccba4c ("Nokia RX-51: Add support for booting kernel in zImage format")
Signed-off-by: Pali Rohár <pali@kernel.org>
board/nokia/rx51/lowlevel_init.S

index 11c2cbef89a6108946362b64eb93217cdc3f4757..632595f83785ea05646ea3d23d2694dca6e8e759 100644 (file)
@@ -72,7 +72,8 @@ copy_kernel_start:
 
        /* remove header in target kernel */
        mov     r5, #0
-       str     r5, [r3]
+       str     r5, [r3]        /* remove 4 bytes header of kernel uImage */
+       str     r5, [r3, #36]   /* remove 4 bytes header of kernel zImage */
 
        /* check for valid kernel uImage */
        ldr     r4, [r0]        /* r4 - 4 bytes header of kernel */
@@ -93,6 +94,8 @@ copy_kernel_loop:
        bhi     copy_kernel_loop
 
 copy_kernel_end:
+
+       /* remove header in source kernel image */
        mov     r5, #0
        str     r5, [r0]        /* remove 4 bytes header of kernel uImage */
        str     r5, [r0, #36]   /* remove 4 bytes header of kernel zImage */