Tree/Branch: mainline Git describe: v3.15-rc7-86-g6f6111e Failed boot tests (console logs at the end) =========================================== armada-xp-openblocks-ax3-4: FAIL: arm-multi_v7_defconfig+CONFIG_CPU_BIG_ENDIAN=y
Full Report ===========
arm-davinci_all_defconfig ------------------------- legacy,dm365evm 0 min 17.5 sec: PASS da850-evm 0 min 15.3 sec: PASS
arm-tegra_defconfig ------------------- tegra30-beaver 0 min 17.3 sec: PASS
arm-multi_v7_defconfig+CONFIG_ARM_LPAE=y ---------------------------------------- armada-xp-openblocks-ax3-4 0 min 23.8 sec: PASS omap5-uevm 1 min 39.5 sec: PASS sun7i-a20-cubieboard2 0 min 12.2 sec: PASS
arm-imx_v6_v7_defconfig ----------------------- imx6dl-wandboard,wand-dual 0 min 14.7 sec: PASS imx6dl-wandboard,wand-solo 0 min 15.0 sec: PASS imx6q-wandboard 0 min 13.2 sec: PASS
arm-omap2plus_defconfig ----------------------- legacy,3730xm 0 min 41.4 sec: PASS am335x-boneblack 0 min 22.5 sec: PASS omap3-beagle-xm 0 min 47.9 sec: PASS legacy,3530beagle 0 min 23.4 sec: PASS (Warnings: 1) omap4-panda 0 min 57.4 sec: PASS omap3-overo-tobi 0 min 23.2 sec: PASS (Warnings: 1) am335x-bone 0 min 29.0 sec: PASS omap3-overo-storm-tobi 0 min 21.7 sec: PASS omap5-uevm 0 min 54.2 sec: PASS omap3-n900 0 min 17.8 sec: PASS (Warnings: 1) legacy,n900 0 min 17.3 sec: PASS (Warnings: 1) omap4-panda-es 0 min 52.6 sec: PASS legacy,3730storm 0 min 22.8 sec: PASS legacy,3530overo 0 min 21.1 sec: PASS (Warnings: 1)
arm-multi_v7_defconfig ---------------------- ste-snowball 1 min 20.6 sec: PASS tegra30-beaver 0 min 17.2 sec: PASS am335x-boneblack 0 min 21.7 sec: PASS omap3-beagle-xm 0 min 47.3 sec: PASS sun7i-a20-cubieboard2 0 min 12.3 sec: PASS armada-370-mirabox 0 min 21.6 sec: PASS omap4-panda 0 min 46.8 sec: PASS armada-xp-openblocks-ax3-4 0 min 24.9 sec: PASS sun4i-a10-cubieboard 0 min 16.9 sec: PASS omap3-overo-tobi 0 min 24.9 sec: PASS (Warnings: 1) imx6dl-wandboard,wand-solo 0 min 15.2 sec: PASS am335x-bone 0 min 23.4 sec: PASS omap3-overo-storm-tobi 0 min 24.0 sec: PASS omap5-uevm 1 min 35.5 sec: PASS omap3-n900 0 min 15.8 sec: PASS (Warnings: 2) imx6q-wandboard 0 min 13.9 sec: PASS omap4-panda-es 0 min 55.3 sec: PASS imx6dl-wandboard,wand-dual 0 min 15.0 sec: PASS
arm-sunxi_defconfig ------------------- sun7i-a20-cubieboard2 0 min 10.7 sec: PASS sun4i-a10-cubieboard 0 min 10.6 sec: PASS
arm-u8500_defconfig ------------------- ste-snowball 0 min 32.4 sec: PASS
arm-exynos_defconfig -------------------- exynos5420-arndale-octa 0 min 35.0 sec: PASS exynos5250-arndale 0 min 30.5 sec: PASS
arm-multi_v7_defconfig+CONFIG_CPU_BIG_ENDIAN=y ---------------------------------------------- armada-xp-openblocks-ax3-4 0 min 27.8 sec: FAIL armada-370-mirabox 0 min 22.0 sec: PASS
arm-mvebu_v7_defconfig ---------------------- armada-xp-openblocks-ax3-4 0 min 22.2 sec: PASS armada-370-mirabox 0 min 19.9 sec: PASS
arm-sama5_defconfig ------------------- sama5d35ek 0 min 16.1 sec: PASS
Console logs for failures =========================
arm-multi_v7_defconfig+CONFIG_CPU_BIG_ENDIAN=y ----------------------------------------------
armada-xp-openblocks-ax3-4: FAIL: last 40 lines of boot log: ------------------------------------------------------------
[ 6.942635] 8983 reserved pages [ 6.945801] 661 slab pages [ 6.948514] 4 pages shared [ 6.951226] 0 pages swap cached [ 6.954382] [ pid ] uid tgid total_vm rss nr_ptes swapents oom_score_adj name [ 6.962254] Kernel panic - not syncing: Out of memory and no killable processes... [ 6.962254] [ 6.971327] CPU: 0 PID: 197 Comm: kworker/u4:3 Not tainted 3.15.0-rc7-00086-g6f6111e #1 [ 6.979370] [<c02155a4>] (unwind_backtrace) from [<c0211164>] (show_stack+0x10/0x14) [ 6.987141] [<c0211164>] (show_stack) from [<c07bc61c>] (dump_stack+0x78/0x94) [ 6.994385] [<c07bc61c>] (dump_stack) from [<c07ba134>] (panic+0x90/0x208) [ 7.001281] [<c07ba134>] (panic) from [<c02a3c4c>] (out_of_memory+0x320/0x340) [ 7.008525] [<c02a3c4c>] (out_of_memory) from [<c02a7944>] (__alloc_pages_nodemask+0x848/0x908) [ 7.017249] [<c02a7944>] (__alloc_pages_nodemask) from [<c02c181c>] (handle_mm_fault+0x730/0x958) [ 7.026146] [<c02c181c>] (handle_mm_fault) from [<c02c1be0>] (__get_user_pages.part.94+0xc4/0x484) [ 7.035132] [<c02c1be0>] (__get_user_pages.part.94) from [<c02e0ce8>] (get_arg_page+0x54/0xbc) [ 7.043769] [<c02e0ce8>] (get_arg_page) from [<c02e0fc8>] (copy_strings+0x278/0x29c) [ 7.051535] [<c02e0fc8>] (copy_strings) from [<c02e100c>] (copy_strings_kernel+0x20/0x28) [ 7.059737] [<c02e100c>] (copy_strings_kernel) from [<c02e2648>] (do_execve+0x3a8/0x4c8) [ 7.067854] [<c02e2648>] (do_execve) from [<c0254860>] (____call_usermodehelper+0x15c/0x194) [ 7.076317] [<c0254860>] (____call_usermodehelper) from [<c020e8b8>] (ret_from_fork+0x14/0x3c) [ 7.084963] CPU1: stopping [ 7.087685] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 3.15.0-rc7-00086-g6f6111e #1 [ 7.095284] [<c02155a4>] (unwind_backtrace) from [<c0211164>] (show_stack+0x10/0x14) [ 7.103051] [<c0211164>] (show_stack) from [<c07bc61c>] (dump_stack+0x78/0x94) [ 7.110294] [<c07bc61c>] (dump_stack) from [<c0213ddc>] (handle_IPI+0x138/0x174) [ 7.117711] [<c0213ddc>] (handle_IPI) from [<c0208770>] (armada_370_xp_handle_irq+0xb0/0xcc) [ 7.126173] [<c0208770>] (armada_370_xp_handle_irq) from [<c0211c80>] (__irq_svc+0x40/0x50) [ 7.134544] Exception stack(0xe907df98 to 0xe907dfe0) [ 7.139608] df80: ffffffed 00000000 [ 7.147807] dfa0: 00000000 00000000 e907c000 c0afa4b8 c0afa450 00000000 00000000 ffffffed [ 7.156007] dfc0: c0aefde0 e907c000 00000000 e907dfe0 c020f3fc c02757ac 60000313 ffffffff [ 7.164213] [<c0211c80>] (__irq_svc) from [<c02757ac>] (cpu_startup_entry+0x11c/0x218) [ 7.172153] [<c02757ac>] (cpu_startup_entry) from [<00208a48>] (0x208a48) [ 7.178962] ---[ end Kernel panic - not syncing: Out of memory and no killable processes... [ 7.178962] ~$off # PYBOOT: Exception: kernel: ERROR: failed to boot: Kernel panic # PYBOOT: Time: 27.76 seconds. # PYBOOT: Result: FAIL
Thomas,
On Fri, May 30, 2014 at 12:36:25PM -0700, Kevin's boot bot wrote:
Tree/Branch: mainline Git describe: v3.15-rc7-86-g6f6111e Failed boot tests (console logs at the end) =========================================== armada-xp-openblocks-ax3-4: FAIL: arm-multi_v7_defconfig+CONFIG_CPU_BIG_ENDIAN=y
...
Console logs for failures
arm-multi_v7_defconfig+CONFIG_CPU_BIG_ENDIAN=y
armada-xp-openblocks-ax3-4: FAIL: last 40 lines of boot log:
[ 6.942635] 8983 reserved pages [ 6.945801] 661 slab pages [ 6.948514] 4 pages shared [ 6.951226] 0 pages swap cached [ 6.954382] [ pid ] uid tgid total_vm rss nr_ptes swapents oom_score_adj name [ 6.962254] Kernel panic - not syncing: Out of memory and no killable processes... [ 6.962254] [ 6.971327] CPU: 0 PID: 197 Comm: kworker/u4:3 Not tainted 3.15.0-rc7-00086-g6f6111e #1 [ 6.979370] [<c02155a4>] (unwind_backtrace) from [<c0211164>] (show_stack+0x10/0x14) [ 6.987141] [<c0211164>] (show_stack) from [<c07bc61c>] (dump_stack+0x78/0x94) [ 6.994385] [<c07bc61c>] (dump_stack) from [<c07ba134>] (panic+0x90/0x208) [ 7.001281] [<c07ba134>] (panic) from [<c02a3c4c>] (out_of_memory+0x320/0x340) [ 7.008525] [<c02a3c4c>] (out_of_memory) from [<c02a7944>] (__alloc_pages_nodemask+0x848/0x908) [ 7.017249] [<c02a7944>] (__alloc_pages_nodemask) from [<c02c181c>] (handle_mm_fault+0x730/0x958) [ 7.026146] [<c02c181c>] (handle_mm_fault) from [<c02c1be0>] (__get_user_pages.part.94+0xc4/0x484) [ 7.035132] [<c02c1be0>] (__get_user_pages.part.94) from [<c02e0ce8>] (get_arg_page+0x54/0xbc) [ 7.043769] [<c02e0ce8>] (get_arg_page) from [<c02e0fc8>] (copy_strings+0x278/0x29c) [ 7.051535] [<c02e0fc8>] (copy_strings) from [<c02e100c>] (copy_strings_kernel+0x20/0x28) [ 7.059737] [<c02e100c>] (copy_strings_kernel) from [<c02e2648>] (do_execve+0x3a8/0x4c8) [ 7.067854] [<c02e2648>] (do_execve) from [<c0254860>] (____call_usermodehelper+0x15c/0x194) [ 7.076317] [<c0254860>] (____call_usermodehelper) from [<c020e8b8>] (ret_from_fork+0x14/0x3c) [ 7.084963] CPU1: stopping [ 7.087685] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 3.15.0-rc7-00086-g6f6111e #1 [ 7.095284] [<c02155a4>] (unwind_backtrace) from [<c0211164>] (show_stack+0x10/0x14) [ 7.103051] [<c0211164>] (show_stack) from [<c07bc61c>] (dump_stack+0x78/0x94) [ 7.110294] [<c07bc61c>] (dump_stack) from [<c0213ddc>] (handle_IPI+0x138/0x174) [ 7.117711] [<c0213ddc>] (handle_IPI) from [<c0208770>] (armada_370_xp_handle_irq+0xb0/0xcc) [ 7.126173] [<c0208770>] (armada_370_xp_handle_irq) from [<c0211c80>] (__irq_svc+0x40/0x50) [ 7.134544] Exception stack(0xe907df98 to 0xe907dfe0) [ 7.139608] df80: ffffffed 00000000 [ 7.147807] dfa0: 00000000 00000000 e907c000 c0afa4b8 c0afa450 00000000 00000000 ffffffed [ 7.156007] dfc0: c0aefde0 e907c000 00000000 e907dfe0 c020f3fc c02757ac 60000313 ffffffff [ 7.164213] [<c0211c80>] (__irq_svc) from [<c02757ac>] (cpu_startup_entry+0x11c/0x218) [ 7.172153] [<c02757ac>] (cpu_startup_entry) from [<00208a48>] (0x208a48) [ 7.178962] ---[ end Kernel panic - not syncing: Out of memory and no killable processes... [ 7.178962] ~$off # PYBOOT: Exception: kernel: ERROR: failed to boot: Kernel panic # PYBOOT: Time: 27.76 seconds. # PYBOOT: Result: FAIL
is this known or new?
thx,
Jason.
Dear Jason Cooper,
On Sat, 31 May 2014 12:01:19 -0400, Jason Cooper wrote:
arm-multi_v7_defconfig+CONFIG_CPU_BIG_ENDIAN=y
is this known or new?
Both :-)
As you can see, it's not a normal multi_v7 boot: it's a multi_v7 + big endian. So that's a new thing Kevin and I have been working on over the last few weeks: since we support big endian on Marvell EBU platforms, I asked Kevin if it was possible to add it to the board farm. And so he did.
It works fine on the Mirabox. However, on the OpenBlocks, there is still a small problem: the OpenBlocks has 1 GB of soldered RAM and some of them come with 2 additional GBs of RAM on a DIMM slot. In the kernel DT, we specified a memory size of 3 GB.
On little endian configurations, as long as ATAGS_DTB_COMPAT is used, it works fine in all situations: the memory size of 3 GB indicated in the DT will be overridden by whatever the bootloader passes.
However, on big endian, ATAGS_DTB_COMPAT is not supported. And since Kevin has a 1 GB only OpenBlocks, the kernel fails to boot because it believes it has 3 GB of memory, while only 1 GB is actually present.
I believe the most reasonable course of action is to lower the memory size in the DT to 1 GB, to make sure it boots in all cases. What do you think?
Thanks,
Thomas
On Sat, May 31, 2014 at 12:04 PM, Thomas Petazzoni thomas.petazzoni@free-electrons.com wrote:
I believe the most reasonable course of action is to lower the memory size in the DT to 1 GB, to make sure it boots in all cases. What do you think?
This sounds like the right approach -- having the DT contain safe defaults and not rely on bootloader (since in this case you can't).
-Olof
Agreed.
thx,
Jason.
On May 31, 2014, at 16:01, Olof Johansson olof@lixom.net wrote:
On Sat, May 31, 2014 at 12:04 PM, Thomas Petazzoni thomas.petazzoni@free-electrons.com wrote:
I believe the most reasonable course of action is to lower the memory size in the DT to 1 GB, to make sure it boots in all cases. What do you think?
This sounds like the right approach -- having the DT contain safe defaults and not rely on bootloader (since in this case you can't).
-Olof
On Sat, 31 May 2014, Jason Cooper wrote:
On Fri, May 30, 2014 at 12:36:25PM -0700, Kevin's boot bot wrote:
[ 6.962254] Kernel panic - not syncing: Out of memory and no killable processes...
is this known or new?
Have not seen it before, but OOM is probably unrelated to irq changes.
Thanks,
tglx
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:
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@lakedaemon.net --- 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.
thx,
Jason.
arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts index 5d42feb31049..178382ca594f 100644 --- a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts +++ b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts @@ -25,7 +25,7 @@
memory { device_type = "memory"; - reg = <0 0x00000000 0 0xC0000000>; /* 3 GB */ + reg = <0 0x00000000 0 0x40000000>; /* 1 GB soldered on */ };
soc {
Jason Cooper jason@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?
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@lakedaemon.net
Tested-by: Kevin Hilman khilman@linaro.org
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@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
Dear Kevin Hilman,
On Tue, 03 Jun 2014 11:07:30 -0700, Kevin Hilman wrote:
Also, what do you think about backporting this for -stable? At least for v3.14+ since that's when BE started working.
Actually, BE started to work in v3.13+.
Thomas
On Tue, Jun 3, 2014 at 11:07 AM, Kevin Hilman khilman@linaro.org wrote:
Jason Cooper jason@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:
[...]
Fix this by setting a sane default (1 GB) in the dts file.
Signed-off-by: Jason Cooper jason@lakedaemon.net
Tested-by: Kevin Hilman khilman@linaro.org
Also FYI, I put a temporary hack into my automated boot setup to use fdtput to live-patch the openblocks DTB with 1G, and you can see that openblocks is now passing boot test for big-endian:
http://lists.linaro.org/pipermail/kernel-build-reports/2014-June/003812.html
Also FYI, I added mvebu_v7_defconfig + CONFIG_CPU_BIG_ENDIAN=y to the mix, so those should start showing up in subsequent boot tests also.
Kevin
Dear Kevin Hilman,
On Tue, 3 Jun 2014 15:15:16 -0700, Kevin Hilman wrote:
Also FYI, I put a temporary hack into my automated boot setup to use fdtput to live-patch the openblocks DTB with 1G, and you can see that openblocks is now passing boot test for big-endian:
http://lists.linaro.org/pipermail/kernel-build-reports/2014-June/003812.html
Also FYI, I added mvebu_v7_defconfig + CONFIG_CPU_BIG_ENDIAN=y to the mix, so those should start showing up in subsequent boot tests also.
Great, thanks a lot for working on adding big endian testing to your board farm. This is definitely going to be very useful!
Thanks,
Thomas
On Tue, Jun 03, 2014 at 11:07:30AM -0700, Kevin Hilman wrote:
Jason Cooper jason@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@lakedaemon.net
Tested-by: Kevin Hilman khilman@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@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.
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:
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...
A similar failure will also occur if ARM_ATAG_DTB_COMPAT isn't selected.
Fix this by setting a sane default (1 GB) in the dts file.
Signed-off-by: Jason Cooper jason@lakedaemon.net Tested-by: Kevin Hilman khilman@linaro.org Cc: stable@vger.kernel.org #v3.13+ --- Changes from v1: - added comment re ARM_ATAG_DTB_COMPAT - added Kevin's Tested-by - Cc stable for v3.13+
arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts index 5d42feb31049..178382ca594f 100644 --- a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts +++ b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts @@ -25,7 +25,7 @@
memory { device_type = "memory"; - reg = <0 0x00000000 0 0xC0000000>; /* 3 GB */ + reg = <0 0x00000000 0 0x40000000>; /* 1 GB soldered on */ };
soc {
On Wednesday 04 June 2014, Jason Cooper wrote:
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:
I've applied it to the fixes branch now, sorry for the delay.
Arnd
kernel-build-reports@lists.linaro.org