On Friday 23 January 2015 22:39:55 Pali Rohár wrote: > Hello, > > when I boot zImage with appended DT n900 in qemu > fdt_open_into() function called from file > arch/arm/boot/compressed/atags_to_fdt.c (in function > atags_to_fdt) always returns -FDT_ERR_NOSPACE. > > It means that all ATAGS (including cmdline arguments) passed > by bootloader are ignored. > > On real n900 device I see that booted DT version also ignore > cmdline arguments from bootloader. I cannot debug decompress > code on real device, but I think it is same problem as in > qemu. Looks like this quick patch is fixing above problem: diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index 68be901..4a7d75b 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S @@ -268,7 +268,7 @@ restart: adr r0, LC0 * area. No GOT fixup has occurred yet, but none of the * code we're about to call uses any global variable. */ - add sp, sp, #0x10000 + add sp, sp, #0x20000 stmfd sp!, {r0-r3, ip, lr} mov r0, r8 mov r1, r6 @@ -289,7 +289,7 @@ restart: adr r0, LC0 bleq atags_to_fdt ldmfd sp!, {r0-r3, ip, lr} - sub sp, sp, #0x10000 + sub sp, sp, #0x20000 #endif mov r8, r6 @ use the appended device tree -- Pali Rohár pali.rohar@xxxxxxxxx
Attachment:
signature.asc
Description: This is a digitally signed message part.