aboutsummaryrefslogtreecommitdiff
path: root/board/nokia
diff options
context:
space:
mode:
authorPali Rohár <pali@kernel.org>2022-08-11 22:27:21 +0200
committerTom Rini <trini@konsulko.com>2022-08-20 16:17:50 -0400
commit7c4ad9821758f98db127e9d6864671c906c02d3b (patch)
tree4ee4682916311c78c1eda7f12cc0a882d7a40854 /board/nokia
parent012d4be439a888b96681ed2443aeac398adca15d (diff)
downloadu-boot-7c4ad9821758f98db127e9d6864671c906c02d3b.zip
u-boot-7c4ad9821758f98db127e9d6864671c906c02d3b.tar.gz
u-boot-7c4ad9821758f98db127e9d6864671c906c02d3b.tar.bz2
Nokia RX-51: Fix invalidating zImage kernel format
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>
Diffstat (limited to 'board/nokia')
-rw-r--r--board/nokia/rx51/lowlevel_init.S5
1 files changed, 4 insertions, 1 deletions
diff --git a/board/nokia/rx51/lowlevel_init.S b/board/nokia/rx51/lowlevel_init.S
index 11c2cbe..632595f 100644
--- a/board/nokia/rx51/lowlevel_init.S
+++ b/board/nokia/rx51/lowlevel_init.S
@@ -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 */