[PATCHv4 07/13] ARM: s3c64xx: convert to MULTI_IRQ_HANDLER

Thomas Abraham thomas.abraham at linaro.org
Wed Nov 9 22:25:06 EST 2011


Hi Jamie,

On 4 November 2011 06:40, Jamie Iles <jamie at jamieiles.com> wrote:
> Now that there is a generic IRQ handler for multiple VIC devices use it
> for s3c64xx to help building multi platform kernels.
>
> Cc: Ben Dooks <ben-linux at fluff.org>
> Signed-off-by: Jamie Iles <jamie at jamieiles.com>
> ---
>  arch/arm/Kconfig                                 |    1 +
>  arch/arm/mach-s3c64xx/include/mach/entry-macro.S |    7 ++++---
>  arch/arm/mach-s3c64xx/mach-anw6410.c             |    2 ++
>  arch/arm/mach-s3c64xx/mach-crag6410.c            |    2 ++
>  arch/arm/mach-s3c64xx/mach-hmt.c                 |    2 ++
>  arch/arm/mach-s3c64xx/mach-mini6410.c            |    2 ++
>  arch/arm/mach-s3c64xx/mach-ncp.c                 |    2 ++
>  arch/arm/mach-s3c64xx/mach-real6410.c            |    2 ++
>  arch/arm/mach-s3c64xx/mach-smartq5.c             |    2 ++
>  arch/arm/mach-s3c64xx/mach-smartq7.c             |    2 ++
>  arch/arm/mach-s3c64xx/mach-smdk6400.c            |    2 ++
>  arch/arm/mach-s3c64xx/mach-smdk6410.c            |    2 ++
>  12 files changed, 25 insertions(+), 3 deletions(-)
>

I have tested this patch series on smdk6410 board (s3c64xx) using the
following repositorty and branch

https://github.com/jamieiles/linux-2.6-ji.git  branch: vic-dt

There is a crash while booting. Am I using the right tree and branch?
The following is the boot log. Is there any other config option to be
enabled?

By hard resetting to commit id
'f7bf800e2c0c2947e9b5839f7d2702a36ddfb71a' (ARM: omap2plus: convert to
CONFIG_MULTI_IRQ_HANDLER), the board boots up fine.

Thanks,
Thomas.


U-Boot 1.3.4-00009-g9da84bd (Jun  8 2010 - 09:46:01) for SMDK6410


CPU:     S3C6410 at 532MHz
         Fclk = 532MHz, Hclk = 133MHz, Pclk = 66MHz, Serial = CLKUART
(SYNC Mode)
Board:   SMDK6410
DRAM:    128 MB
Flash:   0 kB
SD/MMC:  SD/MMC channel0 is selected for booting device.
1886MB
NAND:    0 MB
do not support this address : 57e7c008
In:      serial
Out:     serial
Err:     serial
Net:     smc911x
Hit any key to stop autoboot:  0
SMDK6410 #
SMDK6410 #
SMDK6410 #
SMDK6410 # setenv bootargs; setenv serverip 192.168.0.1; tftp 51000000
small_root_v3.6.cramfs; tftp 50008000 zImage; bootm
smc911x: initializing
smc911x: detected LAN9115 controller
smc911x: phy initialized
smc911x: MAC 00:40:5c:26:0a:5b
Using smc911x device
TFTP from server 192.168.0.1; our IP address is 192.168.0.20
Filename 'small_root_v3.6.cramfs'.
Load address: 0x51000000
Loading: T #################################################################
         #################################################################
         ################################################################
done
Bytes transferred = 2842624 (0x2b6000)
smc911x: initializing
smc911x: detected LAN9115 controller
smc911x: phy initialized
smc911x: MAC 00:40:5c:26:0a:5b
Using smc911x device
TFTP from server 192.168.0.1; our IP address is 192.168.0.20
Filename 'zImage'.
Load address: 0x50008000
Loading: T #################################################################
         ########################################
done
Bytes transferred = 1534176 (0x1768e0)
Boot with zImage
do not support this address : 50008000

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
<5>Linux version 3.2.0-rc1-00031-gcbd9857-dirty
(thomas at localhost.localdomain) (gcc version 4.4.1 (Sourcery G++ Lite
2009q3-67) ) #7 Wed Nov 9 16:35:12 IST 2011
CPU: ARMv6-compatible processor [410fb766] revision 6 (ARMv7), cr=00c5387f
CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine: SMDK6410
<4>Ignoring unrecognised tag 0x41001099
Memory policy: ECC disabled, Data cache writeback
CPU S3C6410 (id 0x36410100)
<7>s3c6410_init_clocks: initialising clocks
<6>S3C24XX Clocks, Copyright 2004 Simtec Electronics
<3>camera: no parent clock specified
<7>s3c6400_setup_clocks: registering clocks
<7>s3c6400_setup_clocks: clkdiv0 = 01043310
<7>s3c6400_setup_clocks: xtal is 12000000
<6>S3C64XX: PLL settings, A=532000000, M=532000000, E=24000000
<6>S3C64XX: HCLK2=266000000, HCLK=133000000, PCLK=66500000
<6>mout_apll: source is fout_apll (1), rate is 532000000
<6>mout_epll: source is epll (1), rate is 24000000
<6>mout_mpll: source is mpll (1), rate is 532000000
<7>s3c64xx_clk_doutmpll_get_rate: parent is 532000000
<6>mmc_bus: source is dout_mpll (1), rate is 24181818
<6>mmc_bus: source is mout_epll (0), rate is 24000000
<6>mmc_bus: source is mout_epll (0), rate is 24000000
<6>usb-bus-host: source is clk_48m (0), rate is 48000000
<7>s3c64xx_clk_doutmpll_get_rate: parent is 532000000
<6>uclk1: source is dout_mpll (1), rate is 66500000
<6>spi-bus: source is mout_epll (0), rate is 24000000
<6>spi-bus: source is mout_epll (0), rate is 24000000
<6>audio-bus: source is mout_epll (0), rate is 24000000
<6>audio-bus: source is mout_epll (0), rate is 24000000
<6>audio-bus: source is mout_epll (0), rate is 24000000
<6>irda-bus: source is mout_epll (0), rate is 24000000
<3>camera: no parent clock specified
<7>On node 0 totalpages: 8192
<7>free_area_init_node: node 0, pgdat c02ce184, node_mem_map c0300000
<7>  Normal zone: 64 pages used for memmap
<7>  Normal zone: 0 pages reserved
<7>  Normal zone: 8128 pages, LIFO batch:0
<6>CPU: found DTCM0 8k @ 0c002000, enabled
<6>CPU: moved DTCM0 8k to fffe8000, enabled
<6>CPU: found DTCM1 8k @ 0c004000, enabled
<6>CPU: moved DTCM1 8k to fffea000, enabled
<6>CPU: found ITCM0 8k @ 00000000, not enabled
<6>CPU: moved ITCM0 8k to fffe0000, enabled
<6>CPU: found ITCM1 8k @ 00000000, not enabled
<6>CPU: moved ITCM1 8k to fffe2000, enabled
<7>pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
<7>pcpu-alloc: [0] 0
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 8128
<5>Kernel command line: root=/dev/ram0 rw ramdisk=8192
initrd=0x51000000,8M console=ttySAC0,115200 init=/linuxrc mem=32M
<6>PID hash table entries: 128 (order: -3, 512 bytes)
<6>Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
<6>Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
<6>Memory: 32MB = 32MB total
<5>Memory: 21164k/21164k available, 11604k reserved, 0K highmem
<5>Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    DTCM    : 0xfffe8000 - 0xfffec000   (  16 kB)
    ITCM    : 0xfffe0000 - 0xfffe4000   (  16 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xc2800000 - 0xf6000000   ( 824 MB)
    lowmem  : 0xc0000000 - 0xc2000000   (  32 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .text : 0xc0008000 - 0xc028c9a8   (2579 kB)
      .init : 0xc028d000 - 0xc02a9000   ( 112 kB)
      .data : 0xc02aa000 - 0xc02ce7e0   ( 146 kB)
       .bss : 0xc02cf024 - 0xc02ff68c   ( 194 kB)
<6>SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
<6>NR_IRQS:246
<7>s3c64xx_init_irq: initialising interrupts
<6>VIC @f6000000: id 0x00041192, vendor 0x41
<1>Unable to handle kernel NULL pointer dereference at virtual address 00000000
<1>pgd = c0004000
<1>[00000000] *pgd=00000000
<0>Internal error: Oops: 5 [#1]
<d>Modules linked in:
CPU: 0    Not tainted  (3.2.0-rc1-00031-gcbd9857-dirty #7)
PC is at irq_domain_add+0x10/0x158
LR is at s3c64xx_init_irq+0x2c/0x60
pc : [<c005aa10>]    lr : [<c0293660>]    psr: 800001d3
sp : c02abfa8  ip : ffffffff  fp : 00000000
r10: 502a3620  r9 : 410fb766  r8 : 50004008
r7 : 00000000  r6 : 8fffffff  r5 : ffffff7f  r4 : c02cf284
r3 : 00000000  r2 : 00000000  r1 : c02cf260  r0 : c02cf284
Flags: Nzcv  IRQs off  FIQs off  Mode SVC_32  ISA ARM  Segment kernel
Control: 00c5387f  Table: 50004008  DAC: 00000017
<0>Process swapper (pid: 0, stack limit = 0xc02aa268)
<0>Stack: (0xc02abfa8 to 0xc02ac000)
<0>bfa0:                   ffffffff ffffff7f 8fffffff c02ae77c 50004008 c0293660
<0>bfc0: c02cf040 c02a4afc 8fffffff c028ff74 00000c00 c028d660 c028d2c0 00000000
<0>bfe0: 00000000 c02a4afc 00c5387d c02ac084 c02a4af8 50008040 00000000 00000000
[<c005aa10>] (irq_domain_add+0x10/0x158) from [<c0293660>]
(s3c64xx_init_irq+0x2c/0x60)
[<c0293660>] (s3c64xx_init_irq+0x2c/0x60) from [<c028ff74>] (init_IRQ+0x14/0x1c)
[<c028ff74>] (init_IRQ+0x14/0x1c) from [<c028d660>] (start_kernel+0x15c/0x2c0)
[<c028d660>] (start_kernel+0x15c/0x2c0) from [<50008040>] (0x50008040)
<0>Code: e92d41f0 e1a04000 e5903014 e5907010 (e5933000)
<4>---[ end trace 1b75b31a2719ed1c ]---
<0>Kernel panic - not syncing: Attempted to kill the idle task!
[<c0014978>] (unwind_backtrace+0x0/0xf4) from [<c01e9780>] (panic+0x58/0x188)
[<c01e9780>] (panic+0x58/0x188) from [<c00297a0>] (do_exit+0x664/0x694)
[<c00297a0>] (do_exit+0x664/0x694) from [<c0012728>] (die+0x11c/0x1d4)
[<c0012728>] (die+0x11c/0x1d4) from [<c00161dc>] (__do_kernel_fault+0x64/0x84)
[<c00161dc>] (__do_kernel_fault+0x64/0x84) from [<c0016340>]
(do_page_fault+0x144/0x1e8)
[<c0016340>] (do_page_fault+0x144/0x1e8) from [<c00084a0>]
(do_DataAbort+0x34/0x98)
[<c00084a0>] (do_DataAbort+0x34/0x98) from [<c000e6f8>] (__dabt_svc+0x38/0x60)
Exception stack(0xc02abf60 to 0xc02abfa8)
bf60: c02cf284 c02cf260 00000000 00000000 c02cf284 ffffff7f 8fffffff 00000000
bf80: 50004008 410fb766 502a3620 00000000 ffffffff c02abfa8 c0293660 c005aa10
bfa0: 800001d3 ffffffff
[<c000e6f8>] (__dabt_svc+0x38/0x60) from [<c005aa10>]
(irq_domain_add+0x10/0x158)
[<c005aa10>] (irq_domain_add+0x10/0x158) from [<c0293660>]
(s3c64xx_init_irq+0x2c/0x60)
[<c0293660>] (s3c64xx_init_irq+0x2c/0x60) from [<c028ff74>] (init_IRQ+0x14/0x1c)
[<c028ff74>] (init_IRQ+0x14/0x1c) from [<c028d660>] (start_kernel+0x15c/0x2c0)
[<c028d660>] (start_kernel+0x15c/0x2c0) from [<50008040>] (0x50008040)


[...]


More information about the devicetree-discuss mailing list