From 15f6b6d065a8ca58d62316f4a1eb5a7677987dff Mon Sep 17 00:00:00 2001 From: Joseph Chen Date: Wed, 4 Mar 2020 18:26:24 +0800 Subject: [PATCH] common: android: correct 32-bit non-compressed kernel address The page size should be reserved before kernel load address. Signed-off-by: Joseph Chen Change-Id: Iaa13fbc9a7a2872c5fb32a388ce96dd94654fc3d --- common/image-android.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/common/image-android.c b/common/image-android.c index 8438379f06..753687e87b 100644 --- a/common/image-android.c +++ b/common/image-android.c @@ -565,10 +565,14 @@ int android_image_parse_comp(struct andr_img_hdr *hdr, ulong *load_addr) * kernel_addr_r is for IMAGE when kernel_addr_c is defined. */ if (comp == IH_COMP_NONE) { - if (kernel_addr_c) + if (kernel_addr_c) { *load_addr = env_get_ulong("kernel_addr_r", 16, 0); - else + } else { *load_addr = CONFIG_SYS_SDRAM_BASE + 0x8000; + env_set_hex("kernel_addr_r", *load_addr); + } + + *load_addr -= hdr->page_size; } else { if (kernel_addr_c) *load_addr = kernel_addr_c - hdr->page_size;