Re: N900 v3.19-rc5 arm atags_to_fdt.c is broken

From: Pali RohÃr
Date: Fri Jan 23 2015 - 17:36:48 EST


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.