linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* ARM: 3.10-rc1 does not boot anymore on OpenBlocks AX3
@ 2013-05-18 17:01 Willy Tarreau
  2013-05-18 17:21 ` Gregory CLEMENT
  2013-05-18 17:22 ` Ezequiel Garcia
  0 siblings, 2 replies; 6+ messages in thread
From: Willy Tarreau @ 2013-05-18 17:01 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Gregory,

I wanted to give a try to your marvell-pcie-v10-and-seb-clks branch on
my AX3 and got the following error, which I also got after switching
back to plain 3.10-rc1 :

Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0x0
Linux version 3.10.0-rc-mvebu (willy at pcw) (gcc version 4.7.3 20130205 (prerelease) (crosstool-NG 1.18.0) ) #6 SMP Sat May 18 17:40:55 CEST 2013
CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
Machine: Marvell Armada 370/XP (Device Tree), model: PlatHome OpenBlocks AX3-4 board
bootconsole [earlycon0] enabled
INITRD: 0x07000040+0x00a5c000 is not a memory region - disabling initrd
Memory policy: ECC disabled, Data cache writealloc
Kernel panic - not syncing: ERROR: Failed to allocate 0x1000 bytes below 0x0.

Finally I bisected this to the following patch :

  commit 74898364e717c6bd939bb88d95049fc91d2b4950
  Author: Gregory CLEMENT <gregory.clement@free-electrons.com>
  Date:   Fri Apr 12 16:29:10 2013 +0200

    ARM: dts: mvebu: Convert mvebu device tree files to 64 bits
    
    In order to be able to use more than 4GB of RAM when the LPAE is
    activated, the dts must be converted in 64 bits.
    
    Only Armada XP is LPAE capable, but as it shares a common dtsi file
    with Armada 370, then the common file include the skeleton64. Thanks
    to the use of the overload capability of the device tree format,
    armada-370 include the 32 bit skeleton and all the armada 370 based
    dts can remain the same.
    
    This was heavily based on the work of Lior Amsalem.
    
    Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
    Signed-off-by: Jason Cooper <jason@lakedaemon.net>

I'm used to boot my kernel and initrd from the network this way :

  tftpboot 0x7000000 uInitrd4
  tftpboot 0x6400000 uImage-ax3.dtb
  bootm 0x6400000 0x7000000

So the address reported above clearly is the one of the initrd, and
the reported size seems to match my initrd's size (10 MB). I tried
to load at a lower address but it did not change anything. I bisected
using mvebu_defconfig.

My AX3 has 3 GB of RAM if that can make a difference (I still have
not found a 4GB DDR3 module to experiment with). Do you have any idea
of what causes the issue, or do you want me to run more tests ? I can
even open it and remove the 2GB DDR3 module if that can help diagnose
the issue.

Thanks,
Willy

^ permalink raw reply	[flat|nested] 6+ messages in thread

* ARM: 3.10-rc1 does not boot anymore on OpenBlocks AX3
  2013-05-18 17:01 ARM: 3.10-rc1 does not boot anymore on OpenBlocks AX3 Willy Tarreau
@ 2013-05-18 17:21 ` Gregory CLEMENT
  2013-05-18 17:22 ` Ezequiel Garcia
  1 sibling, 0 replies; 6+ messages in thread
From: Gregory CLEMENT @ 2013-05-18 17:21 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Willy,

On 05/18/2013 07:01 PM, Willy Tarreau wrote:
> Hi Gregory,
> 
> I wanted to give a try to your marvell-pcie-v10-and-seb-clks branch on
> my AX3 and got the following error, which I also got after switching
> back to plain 3.10-rc1 :
> 
> Uncompressing Linux... done, booting the kernel.
> Booting Linux on physical CPU 0x0
> Linux version 3.10.0-rc-mvebu (willy at pcw) (gcc version 4.7.3 20130205 (prerelease) (crosstool-NG 1.18.0) ) #6 SMP Sat May 18 17:40:55 CEST 2013
> CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7), cr=10c53c7d
> CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
> Machine: Marvell Armada 370/XP (Device Tree), model: PlatHome OpenBlocks AX3-4 board
> bootconsole [earlycon0] enabled
> INITRD: 0x07000040+0x00a5c000 is not a memory region - disabling initrd
> Memory policy: ECC disabled, Data cache writealloc
> Kernel panic - not syncing: ERROR: Failed to allocate 0x1000 bytes below 0x0.

This is a known issue (at least by me! ;) ).
You have 2 choices:
- either you disable CONFIG_ARM_APPENDED_DTB
- or you appliy the patch "ARM: zImage: Convert 32bits memory size
 and address from ATAG to 64bits DTB"
see https://patchwork.kernel.org/patch/2566771/

This patch have been applied by Russell King in his git tree, and I hope
he will push it soon to Linus for the 3.10-rc2.

By the way I also sent an other fix for led and gpio button:
https://patchwork.kernel.org/patch/2582531/

Regards,


-- 
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* ARM: 3.10-rc1 does not boot anymore on OpenBlocks AX3
  2013-05-18 17:01 ARM: 3.10-rc1 does not boot anymore on OpenBlocks AX3 Willy Tarreau
  2013-05-18 17:21 ` Gregory CLEMENT
@ 2013-05-18 17:22 ` Ezequiel Garcia
  2013-05-18 17:26   ` Willy Tarreau
  1 sibling, 1 reply; 6+ messages in thread
From: Ezequiel Garcia @ 2013-05-18 17:22 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Willy,

On Sat, May 18, 2013 at 07:01:58PM +0200, Willy Tarreau wrote:
> 
> Uncompressing Linux... done, booting the kernel.
> Booting Linux on physical CPU 0x0
> Linux version 3.10.0-rc-mvebu (willy at pcw) (gcc version 4.7.3 20130205 (prerelease) (crosstool-NG 1.18.0) ) #6 SMP Sat May 18 17:40:55 CEST 2013
> CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7), cr=10c53c7d
> CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
> Machine: Marvell Armada 370/XP (Device Tree), model: PlatHome OpenBlocks AX3-4 board
> bootconsole [earlycon0] enabled
> INITRD: 0x07000040+0x00a5c000 is not a memory region - disabling initrd
> Memory policy: ECC disabled, Data cache writealloc
> Kernel panic - not syncing: ERROR: Failed to allocate 0x1000 bytes below 0x0.

This is a known issue.
Please try again with this patch:

[PATCH] ARM: zImage: Convert 32bits memory size and address from ATAG to
64bits DTB

which has been posted on LAKML on May 14th.
-- 
Ezequiel Garc?a, Free Electrons
Embedded Linux, Kernel and Android Engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* ARM: 3.10-rc1 does not boot anymore on OpenBlocks AX3
  2013-05-18 17:22 ` Ezequiel Garcia
@ 2013-05-18 17:26   ` Willy Tarreau
  2013-05-18 17:28     ` Ezequiel Garcia
  0 siblings, 1 reply; 6+ messages in thread
From: Willy Tarreau @ 2013-05-18 17:26 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Gregory & Ezequeil,

On Sat, May 18, 2013 at 02:22:13PM -0300, Ezequiel Garcia wrote:
> Hi Willy,
> 
> On Sat, May 18, 2013 at 07:01:58PM +0200, Willy Tarreau wrote:
> > 
> > Uncompressing Linux... done, booting the kernel.
> > Booting Linux on physical CPU 0x0
> > Linux version 3.10.0-rc-mvebu (willy at pcw) (gcc version 4.7.3 20130205 (prerelease) (crosstool-NG 1.18.0) ) #6 SMP Sat May 18 17:40:55 CEST 2013
> > CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7), cr=10c53c7d
> > CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
> > Machine: Marvell Armada 370/XP (Device Tree), model: PlatHome OpenBlocks AX3-4 board
> > bootconsole [earlycon0] enabled
> > INITRD: 0x07000040+0x00a5c000 is not a memory region - disabling initrd
> > Memory policy: ECC disabled, Data cache writealloc
> > Kernel panic - not syncing: ERROR: Failed to allocate 0x1000 bytes below 0x0.
> 
> This is a known issue.
> Please try again with this patch:
> 
> [PATCH] ARM: zImage: Convert 32bits memory size and address from ATAG to
> 64bits DTB
> 
> which has been posted on LAKML on May 14th.

Thanks to you both for your simultaneous response :-)
I did notice this patch a few days ago but did not understant it could be
related to this issue. Back to patching and testing then :-)

Thanks!
Willy

^ permalink raw reply	[flat|nested] 6+ messages in thread

* ARM: 3.10-rc1 does not boot anymore on OpenBlocks AX3
  2013-05-18 17:26   ` Willy Tarreau
@ 2013-05-18 17:28     ` Ezequiel Garcia
  2013-05-18 17:48       ` Willy Tarreau
  0 siblings, 1 reply; 6+ messages in thread
From: Ezequiel Garcia @ 2013-05-18 17:28 UTC (permalink / raw)
  To: linux-arm-kernel

On Sat, May 18, 2013 at 2:26 PM, Willy Tarreau <w@1wt.eu> wrote:
> Hi Gregory & Ezequeil,
>
> On Sat, May 18, 2013 at 02:22:13PM -0300, Ezequiel Garcia wrote:
>> Hi Willy,
>>
>> On Sat, May 18, 2013 at 07:01:58PM +0200, Willy Tarreau wrote:
>> >
>> > Uncompressing Linux... done, booting the kernel.
>> > Booting Linux on physical CPU 0x0
>> > Linux version 3.10.0-rc-mvebu (willy at pcw) (gcc version 4.7.3 20130205 (prerelease) (crosstool-NG 1.18.0) ) #6 SMP Sat May 18 17:40:55 CEST 2013
>> > CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7), cr=10c53c7d
>> > CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
>> > Machine: Marvell Armada 370/XP (Device Tree), model: PlatHome OpenBlocks AX3-4 board
>> > bootconsole [earlycon0] enabled
>> > INITRD: 0x07000040+0x00a5c000 is not a memory region - disabling initrd
>> > Memory policy: ECC disabled, Data cache writealloc
>> > Kernel panic - not syncing: ERROR: Failed to allocate 0x1000 bytes below 0x0.
>>
>> This is a known issue.
>> Please try again with this patch:
>>
>> [PATCH] ARM: zImage: Convert 32bits memory size and address from ATAG to
>> 64bits DTB
>>
>> which has been posted on LAKML on May 14th.
>
> Thanks to you both for your simultaneous response :-)

That's because our mvebu stuff has enabled parallel user support :-)
-- 
    Ezequiel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* ARM: 3.10-rc1 does not boot anymore on OpenBlocks AX3
  2013-05-18 17:28     ` Ezequiel Garcia
@ 2013-05-18 17:48       ` Willy Tarreau
  0 siblings, 0 replies; 6+ messages in thread
From: Willy Tarreau @ 2013-05-18 17:48 UTC (permalink / raw)
  To: linux-arm-kernel

On Sat, May 18, 2013 at 02:28:57PM -0300, Ezequiel Garcia wrote:
> On Sat, May 18, 2013 at 2:26 PM, Willy Tarreau <w@1wt.eu> wrote:
> > Hi Gregory & Ezequeil,
> >
> > On Sat, May 18, 2013 at 02:22:13PM -0300, Ezequiel Garcia wrote:
> >> Hi Willy,
> >>
> >> On Sat, May 18, 2013 at 07:01:58PM +0200, Willy Tarreau wrote:
> >> >
> >> > Uncompressing Linux... done, booting the kernel.
> >> > Booting Linux on physical CPU 0x0
> >> > Linux version 3.10.0-rc-mvebu (willy at pcw) (gcc version 4.7.3 20130205 (prerelease) (crosstool-NG 1.18.0) ) #6 SMP Sat May 18 17:40:55 CEST 2013
> >> > CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7), cr=10c53c7d
> >> > CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
> >> > Machine: Marvell Armada 370/XP (Device Tree), model: PlatHome OpenBlocks AX3-4 board
> >> > bootconsole [earlycon0] enabled
> >> > INITRD: 0x07000040+0x00a5c000 is not a memory region - disabling initrd
> >> > Memory policy: ECC disabled, Data cache writealloc
> >> > Kernel panic - not syncing: ERROR: Failed to allocate 0x1000 bytes below 0x0.
> >>
> >> This is a known issue.
> >> Please try again with this patch:
> >>
> >> [PATCH] ARM: zImage: Convert 32bits memory size and address from ATAG to
> >> 64bits DTB
> >>
> >> which has been posted on LAKML on May 14th.
> >
> > Thanks to you both for your simultaneous response :-)
> 
> That's because our mvebu stuff has enabled parallel user support :-)

:-)

I confirm the fix is OK for me. I'll play a bit with the new
kernel on the box now.

Have a nice week-end,

Willy

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-05-18 17:48 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-18 17:01 ARM: 3.10-rc1 does not boot anymore on OpenBlocks AX3 Willy Tarreau
2013-05-18 17:21 ` Gregory CLEMENT
2013-05-18 17:22 ` Ezequiel Garcia
2013-05-18 17:26   ` Willy Tarreau
2013-05-18 17:28     ` Ezequiel Garcia
2013-05-18 17:48       ` Willy Tarreau

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).