From mboxrd@z Thu Jan 1 00:00:00 1970 From: khilman@linaro.org (Kevin Hilman) Date: Tue, 03 Jun 2014 11:07:30 -0700 Subject: [PATCH] ARM: mvebu: DT: fix OpenBlocks AX3-4 RAM size In-Reply-To: <1401818320-7202-1-git-send-email-jason@lakedaemon.net> (Jason Cooper's message of "Tue, 3 Jun 2014 17:58:40 +0000") References: <5388ddb9.0458440a.2be7.323c@mx.google.com> <1401818320-7202-1-git-send-email-jason@lakedaemon.net> Message-ID: <7hzjhtuasd.fsf@paris.lan> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Jason Cooper writes: > The OpenBlocks AX3-4 has a non-DT bootloader. It also comes with 1GB of > soldered on RAM, and a DIMM slot for expansion. > > Unfortunately, atags_to_fdt() doesn't work in big-endian mode, so we see > the following failure when attempting to boot a big-endian kernel: The same will happen on kernels without the ATAG_DTB_COMPAT option enabled too, right? > 686 slab pages > 17 pages shared > 0 pages swap cached > [ pid ] uid tgid total_vm rss nr_ptes swapents oom_score_adj name > Kernel panic - not syncing: Out of memory and no killable processes... > > CPU: 1 PID: 351 Comm: kworker/u4:0 Not tainted 3.15.0-rc8-next-20140603 #1 > [] (unwind_backtrace) from [] (show_stack+0x10/0x14) > [] (show_stack) from [] (dump_stack+0x78/0x94) > [] (dump_stack) from [] (panic+0x90/0x21c) > [] (panic) from [] (out_of_memory+0x320/0x340) > [] (out_of_memory) from [] (__alloc_pages_nodemask+0x874/0x930) > [] (__alloc_pages_nodemask) from [] (handle_mm_fault+0x744/0x96c) > [] (handle_mm_fault) from [] (__get_user_pages+0xd0/0x4c0) > [] (__get_user_pages) from [] (get_arg_page+0x54/0xbc) > [] (get_arg_page) from [] (copy_strings+0x278/0x29c) > [] (copy_strings) from [] (copy_strings_kernel+0x20/0x28) > [] (copy_strings_kernel) from [] (do_execve+0x3a8/0x4c8) > [] (do_execve) from [] (____call_usermodehelper+0x15c/0x194) > [] (____call_usermodehelper) from [] (ret_from_fork+0x14/0x3c) > CPU0: stopping > CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.15.0-rc8-next-20140603 #1 > [] (unwind_backtrace) from [] (show_stack+0x10/0x14) > [] (show_stack) from [] (dump_stack+0x78/0x94) > [] (dump_stack) from [] (handle_IPI+0x138/0x174) > [] (handle_IPI) from [] (armada_370_xp_handle_irq+0xb0/0xcc) > [] (armada_370_xp_handle_irq) from [] (__irq_svc+0x40/0x50) > Exception stack(0xc0b6bf68 to 0xc0b6bfb0) > bf60: e9fad598 00000000 00f509a3 00000000 c0b6a000 c0b724c4 > bf80: c0b72458 c0b6a000 00000000 00000000 c0b66da0 c0b6a000 00000000 c0b6bfb0 > bfa0: c027bb94 c027bb24 60000313 ffffffff > [] (__irq_svc) from [] (cpu_startup_entry+0x54/0x214) > [] (cpu_startup_entry) from [] (start_kernel+0x318/0x37c) > [] (start_kernel) from [<00208078>] (0x208078) > ---[ end Kernel panic - not syncing: Out of memory and no killable processes... > > Fix this by setting a sane default (1 GB) in the dts file. > > Signed-off-by: Jason Cooper Tested-by: Kevin Hilman > --- > Kevin, > > Please test when you have a moment. If it works for you, feel free to apply it > directly wherever you feel it's appropriate. Yes, this works for me as I've been using the same hack to boot several BE kernels on the openblocks recently. Could you do the minor changelog update above (ATAG_COMPAT), add the Tested-by and send to arm at kernel.org so it gets tracked for arm-soc merge. Also, what do you think about backporting this for -stable? At least for v3.14+ since that's when BE started working. Kevin