summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell King <rmk@arm.linux.org.uk>2018-03-20 11:50:58 +0000
committerRussell King <rmk@arm.linux.org.uk>2018-03-20 14:55:37 +0000
commitb4bd5dd7f207df0e277f27fa3559db27959a952e (patch)
treeb35cebab9303159599c41978f4a7a0b21f127ca7
parente414889e731fe6fa4934f95f90fbc002bae6db5e (diff)
ARM: add further debug
Add further debugging of the kernel size Signed-off-by: Russell King <rmk@armlinux.org.uk>
-rw-r--r--kexec/arch/arm/kexec-zImage-arm.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/kexec/arch/arm/kexec-zImage-arm.c b/kexec/arch/arm/kexec-zImage-arm.c
index 76a0b5b..3305d9b 100644
--- a/kexec/arch/arm/kexec-zImage-arm.c
+++ b/kexec/arch/arm/kexec-zImage-arm.c
@@ -552,6 +552,8 @@ int zImage_arm_load(int argc, char **argv, const char *buf, off_t len,
*/
kernel_mem_size = len + 4;
+ dbgprintf("zImage requires 0x%08llx bytes\n", (unsigned long long)len);
+
/*
* Check for a kernel size extension, and set or validate the
* image size. This is the total space needed to avoid the
@@ -565,6 +567,12 @@ int zImage_arm_load(int argc, char **argv, const char *buf, off_t len,
uint32_t bss_size = le32_to_cpu(tag->u.krnl_size.bss_size);
uint32_t kernel_size = edata_size + bss_size;
+ dbgprintf("Decompressed kernel sizes:\n");
+ dbgprintf(" text+data 0x%08lx bss 0x%08lx total 0x%08lx\n",
+ (unsigned long)edata_size,
+ (unsigned long)bss_size,
+ (unsigned long)kernel_size);
+
/*
* While decompressing, the zImage is placed past _edata
* of the decompressed kernel. Ensure we account for that.
@@ -572,6 +580,9 @@ int zImage_arm_load(int argc, char **argv, const char *buf, off_t len,
if (kernel_size < edata_size + len)
kernel_size = edata_size + len;
+ dbgprintf("Resulting kernel space: 0x%08lx\n",
+ (unsigned long)kernel_size);
+
if (kexec_arm_image_size == 0)
kexec_arm_image_size = kernel_size;
else if (kexec_arm_image_size < kernel_size) {