2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-27 14:43:58 +08:00
linux-next/arch/arm/mach-pxa/include/mach
Robert Jarzmik cde7fc8799 ARM: pxa: fix hang on startup with DEBUG_LL
The commit 2111667b46 ("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, ...).

------------[ 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>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2014-10-20 21:11:40 +02:00
..
addr-map.h ARM: pxa: fix hang on startup with DEBUG_LL 2014-10-20 21:11:40 +02:00
audio.h ALSA: Allow passing platform_data for pxa2xx-ac97 2009-08-13 22:19:37 +01:00
balloon3.h ARM: pxa: fix various compilation problems 2014-02-10 10:33:04 -08:00
bitfield.h
colibri.h ARM: pxa/colibri: use correct SD detect pin 2011-02-09 23:05:03 +08:00
corgi.h ARM: pxa: fix various compilation problems 2014-02-10 10:33:04 -08:00
csb726.h ARM: pxa: fix various compilation problems 2014-02-10 10:33:04 -08:00
dma.h [ARM] pxa: introduce plat-pxa for PXA common code and add DMA support 2009-03-23 10:11:31 +08:00
eseries-gpio.h ASoC: machine support for Toshiba e740 PDA 2009-01-19 16:15:41 +00:00
eseries-irq.h ARM: pxa: encode IRQ number into .nr_irqs 2010-10-08 16:21:17 +08:00
generic.h cpufreq: pxa3xx: move cpufreq driver to drivers/cpufreq 2013-04-08 13:02:31 +02:00
gumstix.h ARM: pxa: fix various compilation problems 2014-02-10 10:33:04 -08:00
h5000.h [ARM] pxa: add basic support for HP iPAQ h5000 2008-12-02 14:43:50 +08:00
hardware.h ARM: pxa: Move iotable mapping inside vmalloc region 2014-07-12 09:51:45 -07:00
hx4700.h ARM: pxa: hx4700.h: include "irqs.h" for PXA_NR_BUILTIN_GPIO 2014-04-24 15:26:39 +02:00
idp.h ARM: pxa: fix various compilation problems 2014-02-10 10:33:04 -08:00
io.h ARM: fix __io macro for PCMCIA 2012-04-05 11:29:55 -07:00
irqs.h ARM: pxa: remove pxa95x support 2012-11-15 13:50:13 +01:00
littleton.h ARM: pxa: change gpio to platform device 2011-11-15 19:08:27 +08:00
lpd270.h ARM: pxa: use correct __iomem annotations 2011-10-08 21:03:07 +08:00
lubbock.h ARM: pxa: fix USB gadget driver compilation regression 2013-12-28 15:18:34 -08:00
magician.h ARM: pxa: rename NR_BUILTIN_GPIO 2011-11-14 21:07:59 +08:00
mainstone.h ARM: 7344/1: pxa: mainstone: add missing include for IRQ_BOARD_START 2012-02-23 22:15:26 +00:00
mfp-pxa2xx.h ARM: PXA2xx: MFP: fix bug with MFP_LPM_KEEP_OUTPUT 2012-04-27 11:11:50 +08:00
mfp-pxa3xx.h [ARM] pxa: move common MFP handling code into plat-pxa 2009-03-23 10:11:34 +08:00
mfp-pxa25x.h [ARM] pxa: simplify the LCD pin configuration for pxa25x platforms 2010-03-02 07:40:46 +08:00
mfp-pxa27x.h ALSA: pxa27x: fix ac97 warm reset 2013-01-08 11:27:35 +00:00
mfp-pxa300.h ARM: pxa: fix CI_HSYNC and CI_VSYNC MFP defines for pxa300 2010-08-30 09:59:43 +08:00
mfp-pxa320.h [ARM] pxa: add additional mfp definitions for pxa320 2009-06-05 10:32:55 +08:00
mfp-pxa930.h ARM: pxa: append tavorevb3 support 2010-10-09 17:07:24 +08:00
mfp.h [ARM] pxa: remove duplicate mfp definition in mach 2009-09-10 18:49:24 +08:00
mioa701.h ARM: pxa: mioa701 add camera output enable gpio 2012-04-27 13:06:08 +08:00
mtd-xip.h ARM: pxa: use correct __iomem annotations 2011-10-08 21:03:07 +08:00
mxm8x10.h [ARM] pxa: fix typo in mxm8x10.h 2010-03-02 10:24:14 +08:00
palm27x.h ARM: pxa: fix inconsistent CONFIG_USB_PXA27X 2011-11-10 15:32:27 +08:00
palmld.h ARM: pxa: fix various compilation problems 2014-02-10 10:33:04 -08:00
palmt5.h ARM: pxa: fix various compilation problems 2014-02-10 10:33:04 -08:00
palmtc.h ARM: pxa: fix various compilation problems 2014-02-10 10:33:04 -08:00
palmte2.h tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
palmtreo.h ARM: palmtreo: fix #ifdefs for leds-gpio device 2013-01-23 16:56:32 +08:00
palmtx.h ARM: pxa: fix various compilation problems 2014-02-10 10:33:04 -08:00
palmz72.h ARM: pxa: PalmZ72: Add OV9640 camera support 2011-03-16 16:32:47 +08:00
pcm027.h ARM: pxa: fix various compilation problems 2014-02-10 10:33:04 -08:00
pcm990_baseboard.h ARM: pxa: fix various compilation problems 2014-02-10 10:33:04 -08:00
pm.h ARM: pm: allow suspend finisher to return error codes 2011-07-02 09:54:01 +01:00
poodle.h ARM: pxa: fix various compilation problems 2014-02-10 10:33:04 -08:00
pxa2xx-regs.h arm: pxa: add clock pll selection bits 2014-09-30 12:31:31 -07:00
pxa3xx-regs.h ARM: pxa: append the definition of CKENC 2012-08-20 13:51:45 +08:00
pxa3xx.h ARM: pxa: remove pxa95x support 2012-11-15 13:50:13 +01:00
pxa25x-udc.h
pxa25x.h ARM: pxa: enable MULTI_IRQ_HANDLER for all boards 2011-07-12 19:50:33 +08:00
pxa27x-udc.h treewide: transciever/transceiver spelling fixes 2011-06-24 11:20:14 +02:00
pxa27x.h ARM: pxa/z2: fix building error of pxa27x_cpu_suspend() no longer available 2011-10-08 21:02:44 +08:00
pxa300.h ARM: pxa: add common header file for pxa3xx 2011-07-12 19:45:20 +08:00
pxa320.h ARM: pxa: add common header file for pxa3xx 2011-07-12 19:45:20 +08:00
pxa930.h ARM: pxa: add common header file for pxa3xx 2011-07-12 19:45:20 +08:00
regs-ac97.h [ARM] pxa: fix missing of __REG() definition for ac97 registers access 2009-01-19 11:39:36 +08:00
regs-lcd.h [ARM] pxafb: add support for overlay1 and overlay2 as framebuffer devices 2008-12-29 18:00:04 +08:00
regs-ost.h ARM: sa11x0/pxa: convert OS timer registers to IOMEM 2012-07-09 17:37:35 +01:00
regs-rtc.h [ARM] pxa: separate definitions from pxa-regs.h and remove it finally 2009-03-09 21:22:40 +08:00
regs-u2d.h [ARM] pxa: add missing new line to regs-u2d.h 2010-05-06 11:12:10 +08:00
regs-uart.h
reset.h [ARM] pxa: allow gpio_reset drive high during normal work 2009-05-18 21:52:09 +08:00
sharpsl_pm.h [ARM] pxa: removed mostly unused and confusing two sharpsl.h 2010-08-05 14:32:38 +08:00
smemc.h ARM: PXA3xx: program the CSMSADRCFG register 2013-01-23 16:56:32 +08:00
spitz.h ARM: pxa: fix various compilation problems 2014-02-10 10:33:04 -08:00
tosa_bt.h
tosa.h ARM: pxa: fix various compilation problems 2014-02-10 10:33:04 -08:00
trizeps4.h ARM: pxa: fix various compilation problems 2014-02-10 10:33:04 -08:00
udc.h ARM: move udc_pxa2xx.h to linux/platform_data 2012-11-16 11:35:30 +00:00
uncompress.h ARM: remove unused arch_decomp_wdog() 2013-01-11 10:54:03 +08:00
viper.h [ARM] pxa/zeus: make Viper pcmcia support more generic to support Zeus 2009-12-13 21:42:58 +08:00
vpac270.h [ARM] pxa/vpac270: remove TS_IRQ magic number 2010-05-11 17:25:03 +02:00
z2.h ARM: PXA: Z2: Fix libertas init/tear down sequences 2011-03-16 14:56:02 +01:00
zeus.h ARM: pxa: use correct __iomem annotations 2011-10-08 21:03:07 +08:00
zylonite.h ARM: pxa: make zylonite_pxa*_init declaration match code 2011-10-08 21:02:57 +08:00