From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] Revert "ARM: pxa: call debug_ll_io_init for earlyprintk"
Date: Tue, 07 Oct 2014 23:36:47 +0200 [thread overview]
Message-ID: <2827244.zVyLBe8KIg@wuerfel> (raw)
In-Reply-To: <87siizad3v.fsf@free.fr>
On Tuesday 07 October 2014 21:33:56 Robert Jarzmik wrote:
> Arnd Bergmann <arnd@arndb.de> writes:
> >
> > Can't you just define CONFIG_DEBUG_UART_VIRT outside of the existing
> > mappings? It doesn't have to use the same mapping as PERIPH_PHYS.
> >
> > Arnd
> Yep, that looks better.
> Would something like that be appropriate ? I tested that on pxa27x, but not on
> pxa25x, even if there seems to be no reason it wouldn't work for it too ...
>
> And I have not yet thought over if there is any impact on vmalloc memory or if
> the double virtual mapping can trigger something bad.
Ah, you mean doing it now? That would work too.
I was thinking of reverting the patch for now and fixing it properly later,
but your patch also looks simple enough that we could probably just do it.
> ---<8---
> From 93239cf3015997d45fec8fee97059758cac1fab3 Mon Sep 17 00:00:00 2001
> From: Robert Jarzmik <robert.jarzmik@free.fr>
> Date: Tue, 7 Oct 2014 21:18:14 +0200
> Subject: [PATCH] ARM: pxa: fix hang on startup with DEBUG_LL
>
> The commit 2111667b4677 ("ARM: pxa: call debug_ll_io_init for
> earlyprintk") triggers in the current kernel the attached backtrace on
> PXA/tosa early in the boot time when DEBUG_LL is enabled.
>
> It is due to overlap between uart virtual memory defined in
> DEBUG_UART_VIRT and mapped by debug_ll_io_init() and peripheral bus
> mapped by pxa_map_io at the same address, 0xf2100000.
>
> As hinted by Arnd, map early virtual memory for low level debug on
> address 0xf6200000, even if that means 2 virtual mappings will give
> access to the pxa internal UARTs (FFUART, BTUART, STUART, ...).
Acked-by: Arnd Bergmann <arnd@arndb.de>
> ------------[ cut here ]------------
> kernel BUG at /home/lumag/linux/mm/vmalloc.c:1143!
> Internal error: Oops - BUG: 0 [#1] PREEMPT ARM
> Modules linked in:
> CPU: 0 PID: 0 Comm: swapper Not tainted 3.17.0-00032-g8e0d202-dirty #23
> task: c062a5a8 ti: c0620000 task.ti: c0620000
> PC is at vm_area_add_early+0x54/0x84
> LR is at add_static_vm_early+0xc/0x60
> pc : [<c03e1100>] lr : [<c03d9ef4>] psr: 800001d3
> sp : c0621f04 ip : c03efa74 fp : c03edf84
> r10: c0637e98 r9 : 40000001 r8 : c03da57c
> r7 : c3ffcfb0 r6 : 00000000 r5 : c3ffcfb0 r4 : 02000000
> r3 : c3ffcfd8 r2 : f2100000 r1 : f4000000 r0 : c3ffcfb0
> Flags: Nzcv IRQs off FIQs off Mode SVC_32 ISA ARM Segment kernel
> Control: 00007977 Table: a0004000 DAC: 00000017
> Process swapper (pid: 0, stack limit = 0xc06201c8)
> Stack: (0xc0621f04 to 0xc0622000)
> 1f00: c3ffcfd8 40000001 c3ffcfd8 c03ee08c c03da570 c03db90c c0637d24
> 1f20: 00000000 c03ec7cc c066e654 a0700000 000a0700 c03db914 c03db90c c03daf84
> 1f40: 00000000 000a0000 c0000000 c03ec7cc 000a0700 c0700000 ffff1000 000a3fff
> 1f60: 00001000 00000007 00000000 c03ec7cc c0008000 c03ed748 c0621fd4 c03d5d18
> 1f80: 69052d00 a03ec48c 00000000 c03d8ad0 0000006c 00007977 c036c6e8 00000001
> 1fa0: c0621fd4 c03ed744 c0628000 a0004000 69052d00 a03ec48c 00000000 c03d68d4
> 1fc0: 00000000 00000000 00000000 00000000 00000000 c03ed748 c0649894 c062801c
> 1fe0: c03ed744 c062b2f0 a0004000 69052d00 a03ec48c a0008040 00000000 00000000
> [<c03e1100>] (vm_area_add_early) from [<c03d9ef4>] (add_static_vm_early+0xc/0x60)
> [<c03d9ef4>] (add_static_vm_early) from [<c03da570>] (iotable_init.part.6+0xa8/0xb4)
> [<c03da570>] (iotable_init.part.6) from [<c03db914>] (pxa25x_map_io+0x8/0x24)
> [<c03db914>] (pxa25x_map_io) from [<c03daf84>] (paging_init+0x744/0x8d8)
> [<c03daf84>] (paging_init) from [<c03d8ad0>] (setup_arch+0x354/0x608)
> [<c03d8ad0>] (setup_arch) from [<c03d68d4>] (start_kernel+0xa8/0x3dc)
> [<c03d68d4>] (start_kernel) from [<a0008040>] (0xa0008040)
> Code: e5904008 e0811004 e1520001 2a000005 (e7f001f2)
> ---[ end trace f24b6c88ae00fa9a ]---
> Kernel panic - not syncing: Attempted to kill the idle task!
> ---[ end Kernel panic - not syncing: Attempted to kill the idle task!
>
> Cc: <stable@vger.kernel.org>
> Reported-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
> Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
next prev parent reply other threads:[~2014-10-07 21:36 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-06 13:32 [PATCH] Revert "ARM: pxa: call debug_ll_io_init for earlyprintk" Dmitry Eremin-Solenikov
2014-10-06 18:59 ` Robert Jarzmik
2014-10-06 19:29 ` Robert Jarzmik
2014-10-06 21:02 ` Andrew Ruder
2014-10-06 21:18 ` Arnd Bergmann
2014-10-06 21:44 ` Robert Jarzmik
2014-10-06 21:59 ` Andrew Ruder
2014-10-07 9:18 ` Arnd Bergmann
2014-10-07 19:33 ` Robert Jarzmik
2014-10-07 21:36 ` Arnd Bergmann [this message]
2014-10-12 13:37 ` Robert Jarzmik
2014-10-13 22:17 ` Andrew Ruder
2014-10-19 19:19 ` Robert Jarzmik
2014-10-06 21:55 ` Andrew Ruder
2014-10-06 19:30 ` Arnd Bergmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2827244.zVyLBe8KIg@wuerfel \
--to=arnd@arndb.de \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.