Thread (20 messages) flat view 20 messages, 6 authors, 2015-02-02

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

From: Pali Rohár <hidden>
Date: 2015-01-24 09:04:49
Also in: linux-omap, lkml

On Saturday 24 January 2015 00:48:55 Pavel Machek wrote:
On Fri 2015-01-23 23:36:36, Pali Roh?r wrote:
quoted
On Friday 23 January 2015 22:39:55 Pali Roh?r wrote:
quoted
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:
So... something overruns stack, and bigger stack fixes it...?

							Pavel
Yes, it looks like that DTB file for n900 is too big and 
atags_to_fdt.c cannot append anything to it (kernel cmdline)...
quoted
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
quoted
 		 * 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 at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150124/c80cf3e3/attachment.sig>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help