[PATCH] ARM: mvebu: DT: fix OpenBlocks AX3-4 RAM size
Jason Cooper
jason at lakedaemon.net
Wed Jun 4 06:35:49 PDT 2014
On Tue, Jun 03, 2014 at 11:07:30AM -0700, Kevin Hilman wrote:
> Jason Cooper <jason at lakedaemon.net> 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?
Yes, good point.
> > 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
> > [<c0215a54>] (unwind_backtrace) from [<c021160c>] (show_stack+0x10/0x14)
> > [<c021160c>] (show_stack) from [<c0802500>] (dump_stack+0x78/0x94)
> > [<c0802500>] (dump_stack) from [<c0800068>] (panic+0x90/0x21c)
> > [<c0800068>] (panic) from [<c02b5704>] (out_of_memory+0x320/0x340)
> > [<c02b5704>] (out_of_memory) from [<c02b93a0>] (__alloc_pages_nodemask+0x874/0x930)
> > [<c02b93a0>] (__alloc_pages_nodemask) from [<c02d446c>] (handle_mm_fault+0x744/0x96c)
> > [<c02d446c>] (handle_mm_fault) from [<c02cf250>] (__get_user_pages+0xd0/0x4c0)
> > [<c02cf250>] (__get_user_pages) from [<c02f3598>] (get_arg_page+0x54/0xbc)
> > [<c02f3598>] (get_arg_page) from [<c02f3878>] (copy_strings+0x278/0x29c)
> > [<c02f3878>] (copy_strings) from [<c02f38bc>] (copy_strings_kernel+0x20/0x28)
> > [<c02f38bc>] (copy_strings_kernel) from [<c02f4f1c>] (do_execve+0x3a8/0x4c8)
> > [<c02f4f1c>] (do_execve) from [<c025ac10>] (____call_usermodehelper+0x15c/0x194)
> > [<c025ac10>] (____call_usermodehelper) from [<c020e9b8>] (ret_from_fork+0x14/0x3c)
> > CPU0: stopping
> > CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.15.0-rc8-next-20140603 #1
> > [<c0215a54>] (unwind_backtrace) from [<c021160c>] (show_stack+0x10/0x14)
> > [<c021160c>] (show_stack) from [<c0802500>] (dump_stack+0x78/0x94)
> > [<c0802500>] (dump_stack) from [<c021429c>] (handle_IPI+0x138/0x174)
> > [<c021429c>] (handle_IPI) from [<c02087f0>] (armada_370_xp_handle_irq+0xb0/0xcc)
> > [<c02087f0>] (armada_370_xp_handle_irq) from [<c0212100>] (__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
> > [<c0212100>] (__irq_svc) from [<c027bb24>] (cpu_startup_entry+0x54/0x214)
> > [<c027bb24>] (cpu_startup_entry) from [<c0ac5b30>] (start_kernel+0x318/0x37c)
> > [<c0ac5b30>] (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 <jason at lakedaemon.net>
>
> Tested-by: Kevin Hilman <khilman at linaro.org>
Thanks!
> > ---
> > 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.
Sure.
> Also, what do you think about backporting this for -stable? At least
> for v3.14+ since that's when BE started working.
per Thomas, v3.13+
thx,
Jason.
More information about the linux-arm-kernel
mailing list