ARM: Exynos: DTB too large error
Vijay Kilari
vijay.kilari at gmail.com
Tue Oct 15 03:30:53 EDT 2013
Hi,
While loading kexec kernel, with the below command,
kexec -l vmlinux --command-line="console=ttySAC2,115200n8 root=
/dev/nfs rw ip=dhcp nfsroot=xxxx...."
Error reported is:
DTB too large!
Cannot load /opt/vmlinux
The error is reported from below piece of code
int zImage_arm_load(int argc, char **argv, const char *buf, off_t len,
struct kexec_info *info)
{
unsigned long base;
unsigned int atag_offset = 0x1000; /* 4k offset from memory start */
unsigned int offset = 0x8000; /* 32k offset from memory start */
.......
if (base + atag_offset + dtb_length > base + offset) {
fprintf(stderr, "DTB too large!\n");
return -1;
}
............
}
>From zImage_arm_load() function as shown above in
kexec/arch/arm/kexec-zImage-arm.c file,
offset is hard-coded to 32K. However the dtb file of Exynos is more than
32K
Please let me reason behind 32K limit?
Thanks & Regards
Vijay
More information about the kexec
mailing list