Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1293403 > unrolled thread

[PATCH v2 0/8] Raspberry Pi 2 support.

Started byEric Anholt <eric@anholt.net>
First post2015-12-17 01:00 +0100
Last post2015-12-25 01:10 +0100
Articles 7 on this page of 27 — 7 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH v2 0/8] Raspberry Pi 2 support. Eric Anholt <eric@anholt.net> - 2015-12-17 01:00 +0100
    [PATCH v2 8/8] ARM: bcm2835: Add Kconfig support for bcm2836 Eric Anholt <eric@anholt.net> - 2015-12-17 01:00 +0100
      Re: [PATCH v2 8/8] ARM: bcm2835: Add Kconfig support for bcm2836 Eric Anholt <eric@anholt.net> - 2015-12-26 23:40 +0100
    [PATCH v2 5/8] ARM: bcm2835: Move the CPU/peripheral include out of common RPi DT. Eric Anholt <eric@anholt.net> - 2015-12-17 01:00 +0100
    [PATCH v2 1/8] irq: bcm2836: Fix initialization of the LOCAL_IRQ_CNT*IRQ timers Eric Anholt <eric@anholt.net> - 2015-12-17 01:00 +0100
    [PATCH v2 3/8] dt-bindings: Add root properties for Raspberry Pi 2 Eric Anholt <eric@anholt.net> - 2015-12-17 01:00 +0100
      Re: [PATCH v2 3/8] dt-bindings: Add root properties for Raspberry Pi  2 Rob Herring <robh@kernel.org> - 2015-12-19 05:20 +0100
    [PATCH v2 2/8] irq: bcm2836: Add SMP support for the 2836 Eric Anholt <eric@anholt.net> - 2015-12-17 01:00 +0100
      Re: [PATCH v2 2/8] irq: bcm2836: Add SMP support for the 2836 Baruch Siach <baruch@tkos.co.il> - 2015-12-17 06:30 +0100
    [PATCH v2 6/8] ARM: bcm2835: Add devicetree for bcm2836 and Raspberry Pi 2 B Eric Anholt <eric@anholt.net> - 2015-12-17 01:00 +0100
      Re: [PATCH v2 6/8] ARM: bcm2835: Add devicetree for bcm2836 and  Raspberry Pi 2 B Alexander Aring <alex.aring@gmail.com> - 2015-12-22 11:20 +0100
    [PATCH v2 7/8] ARM: bcm2835: Add a compat string for bcm2836 machine probe Eric Anholt <eric@anholt.net> - 2015-12-17 01:00 +0100
    Re: [PATCH v2 0/8] Raspberry Pi 2 support. Arnd Bergmann <arnd@arndb.de> - 2015-12-17 01:10 +0100
      Re: [PATCH v2 0/8] Raspberry Pi 2 support. Eric Anholt <eric@anholt.net> - 2015-12-17 01:40 +0100
        Re: [PATCH v2 0/8] Raspberry Pi 2 support. Stefan Wahren <stefan.wahren@i2se.com> - 2015-12-17 10:00 +0100
          Re: [PATCH v2 0/8] Raspberry Pi 2 support. Arnd Bergmann <arnd@arndb.de> - 2015-12-17 11:30 +0100
    Re: [PATCH v2 0/8] Raspberry Pi 2 support. Alexander Aring <alex.aring@gmail.com> - 2015-12-18 11:10 +0100
      Re: [PATCH v2 0/8] Raspberry Pi 2 support. Alexander Aring <alex.aring@gmail.com> - 2015-12-18 12:00 +0100
      Re: [PATCH v2 0/8] Raspberry Pi 2 support. Alexander Aring <alex.aring@gmail.com> - 2015-12-20 23:20 +0100
        Re: [PATCH v2 0/8] Raspberry Pi 2 support. Eric Anholt <eric@anholt.net> - 2015-12-22 00:10 +0100
          Re: [PATCH v2 0/8] Raspberry Pi 2 support. Alexander Aring <alex.aring@gmail.com> - 2015-12-22 15:30 +0100
            Re: [PATCH v2 0/8] Raspberry Pi 2 support. Eric Anholt <eric@anholt.net> - 2015-12-22 20:10 +0100
              Re: [PATCH v2 0/8] Raspberry Pi 2 support. Noralf Trønnes <noralf@tronnes.org> - 2015-12-26 22:50 +0100
        Re: [PATCH v2 0/8] Raspberry Pi 2 support. Arnd Bergmann <arnd@arndb.de> - 2015-12-22 00:20 +0100
          Re: [PATCH v2 0/8] Raspberry Pi 2 support. Alexander Aring <alex.aring@gmail.com> - 2015-12-22 15:30 +0100
            Re: [PATCH v2 0/8] Raspberry Pi 2 support. Arnd Bergmann <arnd@arndb.de> - 2015-12-22 22:30 +0100
              Re: [PATCH v2 0/8] Raspberry Pi 2 support. Eric Anholt <eric@anholt.net> - 2015-12-25 01:10 +0100

Page 2 of 2 — ← Prev page 1 [2]


#1296806

FromAlexander Aring <alex.aring@gmail.com>
Date2015-12-22 15:30 +0100
Message-ID<qIw6R-54a-3@gated-at.bofh.it>
In reply to#1296280
On Mon, Dec 21, 2015 at 03:07:44PM -0800, Eric Anholt wrote:
...
> >
> > But still getting this panic, your patches does not contain some
> > defconfig, so I still try to figure out what I need to enable to get it
> > working. Maybe it is some missing config entry which should be enabled.
> >
> > But, for me it looks like some devicetree issue, because of_iomem returns
> > NULL, at [0]. Don't know what I am doing wrong.
> 
> My best guess is that since you're not using U-Boot, the firmware's
> mangling the DT in some way that breaks us.  Notably, in my current
> firmware checkout, set /soc/ranges to just the first entry that we're
> using, which would break the mapping.  However,
> rpi/rpi-4.4.y:arch/arm/boot/dts/bcm2709.dtsi uses the same /soc/ranges
> setup that we do, so I'm not sure what's going on.  Perhaps
> bcm2709_io_desc[]'s initialization covers for it?

I boot here with two different bootloaders, both ends in the same panic.

Finally I figured out if I do a user/kernel split (2G/2G) then the
issue is gone.

Later I need to enable "CONFIG_HAVE_ARM_ARCH_TIMER" so the kernel
doesn't hang forever.

After finally booting the RPi2 I get several messages of:

unexpected IRQ trap at vector 00

while typing _one_ character over uart.

Can you provide somehow your RPi2 kernelconfig?

- Alex
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1296995

FromEric Anholt <eric@anholt.net>
Date2015-12-22 20:10 +0100
Message-ID<qIAtQ-7UX-25@gated-at.bofh.it>
In reply to#1296806

[Multipart message — attachments visible in raw view] — view raw

Alexander Aring <alex.aring@gmail.com> writes:

> On Mon, Dec 21, 2015 at 03:07:44PM -0800, Eric Anholt wrote:
> ...
>> >
>> > But still getting this panic, your patches does not contain some
>> > defconfig, so I still try to figure out what I need to enable to get it
>> > working. Maybe it is some missing config entry which should be enabled.
>> >
>> > But, for me it looks like some devicetree issue, because of_iomem returns
>> > NULL, at [0]. Don't know what I am doing wrong.
>> 
>> My best guess is that since you're not using U-Boot, the firmware's
>> mangling the DT in some way that breaks us.  Notably, in my current
>> firmware checkout, set /soc/ranges to just the first entry that we're
>> using, which would break the mapping.  However,
>> rpi/rpi-4.4.y:arch/arm/boot/dts/bcm2709.dtsi uses the same /soc/ranges
>> setup that we do, so I'm not sure what's going on.  Perhaps
>> bcm2709_io_desc[]'s initialization covers for it?
>
> I boot here with two different bootloaders, both ends in the same panic.
>
> Finally I figured out if I do a user/kernel split (2G/2G) then the
> issue is gone.

Huh.  Not sure what's going on there.

> Later I need to enable "CONFIG_HAVE_ARM_ARCH_TIMER" so the kernel
> doesn't hang forever.

I'll add a dependency for that -- we definitely want the arch timer.  I
would have thought that the 2835 timer would still be able to make
things work, though.

> After finally booting the RPi2 I get several messages of:
>
> unexpected IRQ trap at vector 00
>
> while typing _one_ character over uart.

We were doing some debugging of that recently.  It seems that every once
in a while we get woken up but nothing shows up in the top-level status
register.  We need to just make the irqchip ignore instead of trying to
look up a handler in that case, but I haven't prioritized it because it
makes me worry that I'm just papering over a problem in our IRQ masking
or something.

I haven't seen any problems other than the printk, though.

> Can you provide somehow your RPi2 kernelconfig?

http://people.freedesktop.org/~anholt/dotconfig-bcm2836-2015-12-22.txt

[toc] | [prev] | [next] | [standalone]


#1298278

FromNoralf Trønnes <noralf@tronnes.org>
Date2015-12-26 22:50 +0100
Message-ID<qK4SR-6jE-11@gated-at.bofh.it>
In reply to#1296995
Den 22.12.2015 20:01, skrev Eric Anholt:

>
>> After finally booting the RPi2 I get several messages of:
>>
>> unexpected IRQ trap at vector 00
>>
>> while typing _one_ character over uart.
> We were doing some debugging of that recently.  It seems that every once
> in a while we get woken up but nothing shows up in the top-level status
> register.  We need to just make the irqchip ignore instead of trying to
> look up a handler in that case, but I haven't prioritized it because it
> makes me worry that I'm just papering over a problem in our IRQ masking
> or something.
>
> I haven't seen any problems other than the printk, though.

Downstream has this patch[1]:
irq-bcm2836: Prevent spurious interrupts, and trap them early

It has been used in the nightly build of OpenELEC[2] for 5 days now without
any complaints (used with the downstream ARCH_BCM2709).

[1] 
https://github.com/raspberrypi/linux/commit/688a5f2ada4fbd16547b574a17e6d359ab2364d0
[2] http://forum.kodi.tv/showthread.php?tid=250817&pid=2192054#pid2192054

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1296296

FromArnd Bergmann <arnd@arndb.de>
Date2015-12-22 00:20 +0100
Message-ID<qIhUe-4sr-17@gated-at.bofh.it>
In reply to#1295698
On Sunday 20 December 2015, Alexander Aring wrote:
> On Fri, Dec 18, 2015 at 11:08:26AM +0100, Alexander Aring wrote:
> > [    0.000000] Memory policy: Data cache writeback
> > [    0.000000] BUG: mapping for 0x3f201000 at 0xf0201000 out of vmalloc space

This is a separate bug, right?

> > [    0.000000] ------------[ cut here ]------------
> > [    0.000000] WARNING: CPU: 0 PID: 0 at arch/arm/kernel/devtree.c:149 arm_dt_init_cpu_maps+0x100/0x1a4()
> > [    0.000000] DT /cpu 2 nodes greater than max cores 1, capping them
> > [    0.000000] Modules linked in:
> > [    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.4.0-rc5+ #989
> > [    0.000000] Hardware name: BCM2835
> > [    0.000000] [<c0016c4c>] (unwind_backtrace) from [<c0013e58>] (show_stack+0x20/0x24)
> > [    0.000000] [<c0013e58>] (show_stack) from [<c0247620>] (dump_stack+0x20/0x28)
> > [    0.000000] [<c0247620>] (dump_stack) from [<c0023a84>] (warn_slowpath_common+0x9c/0xc4)
> > [    0.000000] [<c0023a84>] (warn_slowpath_common) from [<c0023aec>] (warn_slowpath_fmt+0x40/0x48)
> > [    0.000000] [<c0023aec>] (warn_slowpath_fmt) from [<c074ef94>] (arm_dt_init_cpu_maps+0x100/0x1a4)
> > [    0.000000] [<c074ef94>] (arm_dt_init_cpu_maps) from [<c074e60c>] (setup_arch+0x6f4/0x89c)
> > [    0.000000] [<c074e60c>] (setup_arch) from [<c074b9cc>] (start_kernel+0x74/0x3a4)
> > [    0.000000] [<c074b9cc>] (start_kernel) from [<00008078>] (0x8078)
> > [    0.000000] ---[ end trace cb88537fdc8fa200 ]---
> > [    0.000000] DT missing boot CPU MPIDR[23:0], fall back to default cpu_logical_map
> > [    0.000000] CPU: All CPU(s) started in SVC mode.
> 
> I can remove this WARNING when I enable CONFIG_SMP.

I think we should try to change this in the code.

> > [    0.000000] Virtual kernel memory layout:
> > [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
> > [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
> > [    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
> > [    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
> > [    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
> > [    0.000000]       .text : 0xc0008000 - 0xc074a7cc   (7434 kB)
> > [    0.000000]       .init : 0xc074b000 - 0xc07b4000   ( 420 kB)
> > [    0.000000]       .data : 0xc07b4000 - 0xc081e910   ( 427 kB)
> > [    0.000000]        .bss : 0xc081e910 - 0xc08ca80c   ( 688 kB)
> > [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
> > [    0.000000] NR_IRQS:16 nr_irqs:16 16
> > [    0.000000] Kernel panic - not syncing: /soc/local_intc: unable to map local interrupt registers
> > [    0.000000] 
> > [    0.000000] CPU: 0 PID: 0 Comm: swapper Tainted: G        W       4.4.0-rc5+ #989
> > [    0.000000] Hardware name: BCM2835
> > [    0.000000] [<c0016c4c>] (unwind_backtrace) from [<c0013e58>] (show_stack+0x20/0x24)
> > [    0.000000] [<c0013e58>] (show_stack) from [<c0247620>] (dump_stack+0x20/0x28)
> > [    0.000000] [<c0247620>] (dump_stack) from [<c00c17c0>] (panic+0x84/0x210)
> > [    0.000000] [<c00c17c0>] (panic) from [<c0771d5c>] (bcm2836_arm_irqchip_l1_intc_of_init+0x94/0x110)
> > [    0.000000] [<c0771d5c>] (bcm2836_arm_irqchip_l1_intc_of_init) from [<c0779f04>] (of_irq_init+0x1a0/0x2a8)
> > [    0.000000] [<c0779f04>] (of_irq_init) from [<c0771af4>] (irqchip_init+0x14/0x1c)
> > [    0.000000] [<c0771af4>] (irqchip_init) from [<c074d7a8>] (init_IRQ+0x28/0x88)
> > [    0.000000] [<c074d7a8>] (init_IRQ) from [<c074bb64>] (start_kernel+0x20c/0x3a4)
> > [    0.000000] [<c074bb64>] (start_kernel) from [<00008078>] (0x8078)
> > [    0.000000] ---[ end Kernel panic - not syncing: /soc/local_intc: unable to map local interrupt registers
> > 
> 
> But still getting this panic, your patches does not contain some
> defconfig, so I still try to figure out what I need to enable to get it
> working. Maybe it is some missing config entry which should be enabled.
> 
> But, for me it looks like some devicetree issue, because of_iomem returns
> NULL, at [0]. Don't know what I am doing wrong.

That is the most likely cause, yes. You can try replacing it with an ioremap with a
hardcoded physical address to see if that works.

	Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1296809

FromAlexander Aring <alex.aring@gmail.com>
Date2015-12-22 15:30 +0100
Message-ID<qIw6R-54a-11@gated-at.bofh.it>
In reply to#1296296
On Tue, Dec 22, 2015 at 12:11:32AM +0100, Arnd Bergmann wrote:
> On Sunday 20 December 2015, Alexander Aring wrote:
> > On Fri, Dec 18, 2015 at 11:08:26AM +0100, Alexander Aring wrote:
> > > [    0.000000] Memory policy: Data cache writeback
> > > [    0.000000] BUG: mapping for 0x3f201000 at 0xf0201000 out of vmalloc space
> 
> This is a separate bug, right?
> 

Yes, I can remove this BUG when setting:

VMSPLIT_2G

or some other option, was "VMSPLIT_3G" before and with this option I
will get the above message.

> > > [    0.000000] ------------[ cut here ]------------
> > > [    0.000000] WARNING: CPU: 0 PID: 0 at arch/arm/kernel/devtree.c:149 arm_dt_init_cpu_maps+0x100/0x1a4()
> > > [    0.000000] DT /cpu 2 nodes greater than max cores 1, capping them
> > > [    0.000000] Modules linked in:
> > > [    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.4.0-rc5+ #989
> > > [    0.000000] Hardware name: BCM2835
> > > [    0.000000] [<c0016c4c>] (unwind_backtrace) from [<c0013e58>] (show_stack+0x20/0x24)
> > > [    0.000000] [<c0013e58>] (show_stack) from [<c0247620>] (dump_stack+0x20/0x28)
> > > [    0.000000] [<c0247620>] (dump_stack) from [<c0023a84>] (warn_slowpath_common+0x9c/0xc4)
> > > [    0.000000] [<c0023a84>] (warn_slowpath_common) from [<c0023aec>] (warn_slowpath_fmt+0x40/0x48)
> > > [    0.000000] [<c0023aec>] (warn_slowpath_fmt) from [<c074ef94>] (arm_dt_init_cpu_maps+0x100/0x1a4)
> > > [    0.000000] [<c074ef94>] (arm_dt_init_cpu_maps) from [<c074e60c>] (setup_arch+0x6f4/0x89c)
> > > [    0.000000] [<c074e60c>] (setup_arch) from [<c074b9cc>] (start_kernel+0x74/0x3a4)
> > > [    0.000000] [<c074b9cc>] (start_kernel) from [<00008078>] (0x8078)
> > > [    0.000000] ---[ end trace cb88537fdc8fa200 ]---
> > > [    0.000000] DT missing boot CPU MPIDR[23:0], fall back to default cpu_logical_map
> > > [    0.000000] CPU: All CPU(s) started in SVC mode.
> > 
> > I can remove this WARNING when I enable CONFIG_SMP.
> 
> I think we should try to change this in the code.
> 

mhhh, okay... I am not sure I think there is some missing
IS_ENABLED(CONFIG_SMP) check.

> > > [    0.000000] Virtual kernel memory layout:
> > > [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
> > > [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
> > > [    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
> > > [    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
> > > [    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
> > > [    0.000000]       .text : 0xc0008000 - 0xc074a7cc   (7434 kB)
> > > [    0.000000]       .init : 0xc074b000 - 0xc07b4000   ( 420 kB)
> > > [    0.000000]       .data : 0xc07b4000 - 0xc081e910   ( 427 kB)
> > > [    0.000000]        .bss : 0xc081e910 - 0xc08ca80c   ( 688 kB)
> > > [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
> > > [    0.000000] NR_IRQS:16 nr_irqs:16 16
> > > [    0.000000] Kernel panic - not syncing: /soc/local_intc: unable to map local interrupt registers
> > > [    0.000000] 
> > > [    0.000000] CPU: 0 PID: 0 Comm: swapper Tainted: G        W       4.4.0-rc5+ #989
> > > [    0.000000] Hardware name: BCM2835
> > > [    0.000000] [<c0016c4c>] (unwind_backtrace) from [<c0013e58>] (show_stack+0x20/0x24)
> > > [    0.000000] [<c0013e58>] (show_stack) from [<c0247620>] (dump_stack+0x20/0x28)
> > > [    0.000000] [<c0247620>] (dump_stack) from [<c00c17c0>] (panic+0x84/0x210)
> > > [    0.000000] [<c00c17c0>] (panic) from [<c0771d5c>] (bcm2836_arm_irqchip_l1_intc_of_init+0x94/0x110)
> > > [    0.000000] [<c0771d5c>] (bcm2836_arm_irqchip_l1_intc_of_init) from [<c0779f04>] (of_irq_init+0x1a0/0x2a8)
> > > [    0.000000] [<c0779f04>] (of_irq_init) from [<c0771af4>] (irqchip_init+0x14/0x1c)
> > > [    0.000000] [<c0771af4>] (irqchip_init) from [<c074d7a8>] (init_IRQ+0x28/0x88)
> > > [    0.000000] [<c074d7a8>] (init_IRQ) from [<c074bb64>] (start_kernel+0x20c/0x3a4)
> > > [    0.000000] [<c074bb64>] (start_kernel) from [<00008078>] (0x8078)
> > > [    0.000000] ---[ end Kernel panic - not syncing: /soc/local_intc: unable to map local interrupt registers
> > > 
> > 
> > But still getting this panic, your patches does not contain some
> > defconfig, so I still try to figure out what I need to enable to get it
> > working. Maybe it is some missing config entry which should be enabled.
> > 
> > But, for me it looks like some devicetree issue, because of_iomem returns
> > NULL, at [0]. Don't know what I am doing wrong.
> 
> That is the most likely cause, yes. You can try replacing it with an ioremap with a
> hardcoded physical address to see if that works.
> 

When I changed to "VMSPLIT_2G" the above issue doesn't occur anymore.

Later while booting the kernel hangs forever, the solution on my side
was to enable:

CONFIG_HAVE_ARM_ARCH_TIMER

I think this doesn't use the BCM2835 timer anymore and some cortex-a7
related "generic timer", or?

btw:

After the RPi is booted succesful I get several:

[   35.048513] unexpected IRQ trap at vector 00

When I type something via uart (after each character).


Any ideas?

- Alex
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1297069

FromArnd Bergmann <arnd@arndb.de>
Date2015-12-22 22:30 +0100
Message-ID<qICFj-JT-3@gated-at.bofh.it>
In reply to#1296809
On Tuesday 22 December 2015, Alexander Aring wrote:
> On Tue, Dec 22, 2015 at 12:11:32AM +0100, Arnd Bergmann wrote:
> > On Sunday 20 December 2015, Alexander Aring wrote:
> > > On Fri, Dec 18, 2015 at 11:08:26AM +0100, Alexander Aring wrote:
> > > > [    0.000000] Memory policy: Data cache writeback
> > > > [    0.000000] BUG: mapping for 0x3f201000 at 0xf0201000 out of vmalloc space
> > 
> > This is a separate bug, right?
> > 
> 
> Yes, I can remove this BUG when setting:
> 
> VMSPLIT_2G
> 
> or some other option, was "VMSPLIT_3G" before and with this option I
> will get the above message.

Please try to figure out why this happened, it should really work with any
vmsplit, in particular the one that everyone uses.

> > > > [    0.000000] ------------[ cut here ]------------
> > > > [    0.000000] WARNING: CPU: 0 PID: 0 at arch/arm/kernel/devtree.c:149 arm_dt_init_cpu_maps+0x100/0x1a4()
> > > > [    0.000000] DT /cpu 2 nodes greater than max cores 1, capping them
> > > > [    0.000000] Modules linked in:
> > > > [    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.4.0-rc5+ #989
> > > > [    0.000000] Hardware name: BCM2835
> > > > [    0.000000] [<c0016c4c>] (unwind_backtrace) from [<c0013e58>] (show_stack+0x20/0x24)
> > > > [    0.000000] [<c0013e58>] (show_stack) from [<c0247620>] (dump_stack+0x20/0x28)
> > > > [    0.000000] [<c0247620>] (dump_stack) from [<c0023a84>] (warn_slowpath_common+0x9c/0xc4)
> > > > [    0.000000] [<c0023a84>] (warn_slowpath_common) from [<c0023aec>] (warn_slowpath_fmt+0x40/0x48)
> > > > [    0.000000] [<c0023aec>] (warn_slowpath_fmt) from [<c074ef94>] (arm_dt_init_cpu_maps+0x100/0x1a4)
> > > > [    0.000000] [<c074ef94>] (arm_dt_init_cpu_maps) from [<c074e60c>] (setup_arch+0x6f4/0x89c)
> > > > [    0.000000] [<c074e60c>] (setup_arch) from [<c074b9cc>] (start_kernel+0x74/0x3a4)
> > > > [    0.000000] [<c074b9cc>] (start_kernel) from [<00008078>] (0x8078)
> > > > [    0.000000] ---[ end trace cb88537fdc8fa200 ]---
> > > > [    0.000000] DT missing boot CPU MPIDR[23:0], fall back to default cpu_logical_map
> > > > [    0.000000] CPU: All CPU(s) started in SVC mode.
> > > 
> > > I can remove this WARNING when I enable CONFIG_SMP.
> > 
> > I think we should try to change this in the code.
> > 
> 
> mhhh, okay... I am not sure I think there is some missing
> IS_ENABLED(CONFIG_SMP) check.

Makes sense.

> > > > [    0.000000] Virtual kernel memory layout:
> > > > [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
> > > > [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
> > > > [    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
> > > > [    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
> > > > [    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
> > > > [    0.000000]       .text : 0xc0008000 - 0xc074a7cc   (7434 kB)
> > > > [    0.000000]       .init : 0xc074b000 - 0xc07b4000   ( 420 kB)
> > > > [    0.000000]       .data : 0xc07b4000 - 0xc081e910   ( 427 kB)
> > > > [    0.000000]        .bss : 0xc081e910 - 0xc08ca80c   ( 688 kB)
> > > > [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
> > > > [    0.000000] NR_IRQS:16 nr_irqs:16 16
> > > > [    0.000000] Kernel panic - not syncing: /soc/local_intc: unable to map local interrupt registers
> > > > [    0.000000] 
> > > > [    0.000000] CPU: 0 PID: 0 Comm: swapper Tainted: G        W       4.4.0-rc5+ #989
> > > > [    0.000000] Hardware name: BCM2835
> > > > [    0.000000] [<c0016c4c>] (unwind_backtrace) from [<c0013e58>] (show_stack+0x20/0x24)
> > > > [    0.000000] [<c0013e58>] (show_stack) from [<c0247620>] (dump_stack+0x20/0x28)
> > > > [    0.000000] [<c0247620>] (dump_stack) from [<c00c17c0>] (panic+0x84/0x210)
> > > > [    0.000000] [<c00c17c0>] (panic) from [<c0771d5c>] (bcm2836_arm_irqchip_l1_intc_of_init+0x94/0x110)
> > > > [    0.000000] [<c0771d5c>] (bcm2836_arm_irqchip_l1_intc_of_init) from [<c0779f04>] (of_irq_init+0x1a0/0x2a8)
> > > > [    0.000000] [<c0779f04>] (of_irq_init) from [<c0771af4>] (irqchip_init+0x14/0x1c)
> > > > [    0.000000] [<c0771af4>] (irqchip_init) from [<c074d7a8>] (init_IRQ+0x28/0x88)
> > > > [    0.000000] [<c074d7a8>] (init_IRQ) from [<c074bb64>] (start_kernel+0x20c/0x3a4)
> > > > [    0.000000] [<c074bb64>] (start_kernel) from [<00008078>] (0x8078)
> > > > [    0.000000] ---[ end Kernel panic - not syncing: /soc/local_intc: unable to map local interrupt registers
> > > > 
> > > 
> > > But still getting this panic, your patches does not contain some
> > > defconfig, so I still try to figure out what I need to enable to get it
> > > working. Maybe it is some missing config entry which should be enabled.
> > > 
> > > But, for me it looks like some devicetree issue, because of_iomem returns
> > > NULL, at [0]. Don't know what I am doing wrong.
> > 
> > That is the most likely cause, yes. You can try replacing it with an ioremap with a
> > hardcoded physical address to see if that works.
> > 
> 
> When I changed to "VMSPLIT_2G" the above issue doesn't occur anymore.

Someone recently had a similar bug on some freescale platform, but unfortunately I don't
remember the details. As above, it should really not depend on that option.

> Later while booting the kernel hangs forever, the solution on my side
> was to enable:
> 
> CONFIG_HAVE_ARM_ARCH_TIMER
> 
> I think this doesn't use the BCM2835 timer anymore and some cortex-a7
> related "generic timer", or?

Right, but I don't see how that relates to the irqchip. Is the BCM2835 timer
connected to a secondary irqchip, while the arch timer connects to the primary GIC?

> btw:
> 
> After the RPi is booted succesful I get several:
> 
> [   35.048513] unexpected IRQ trap at vector 00
> 
> When I type something via uart (after each character).
> 
> 
> Any ideas?

That also indicates that there is something wrong with the irqchip.

	Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1298067

FromEric Anholt <eric@anholt.net>
Date2015-12-25 01:10 +0100
Message-ID<qJo7f-4WI-1@gated-at.bofh.it>
In reply to#1297069

[Multipart message — attachments visible in raw view] — view raw

Arnd Bergmann <arnd@arndb.de> writes:

> On Tuesday 22 December 2015, Alexander Aring wrote:
>> Later while booting the kernel hangs forever, the solution on my side
>> was to enable:
>> 
>> CONFIG_HAVE_ARM_ARCH_TIMER
>> 
>> I think this doesn't use the BCM2835 timer anymore and some cortex-a7
>> related "generic timer", or?
>
> Right, but I don't see how that relates to the irqchip. Is the BCM2835 timer
> connected to a secondary irqchip, while the arch timer connects to the primary GIC?

The 2835 timer is a "peripheral", and connects to the second level
irqchip, while the arm arch timer can give us per-cpu interrupts in the
first level controller.

[toc] | [prev] | [standalone]


Page 2 of 2 — ← Prev page 1 [2]

Back to top | Article view | linux.kernel


csiph-web