FAQ: [#6646] Kernel xip with bf561 SMP will crash in trunk(2011)

Document created by Aaronwu Employee on Sep 11, 2013
Version 1Show Document
  • View in full screen mode

[#6646] Kernel xip with bf561 SMP will crash in trunk

Submitted By: Vivi Li

Open Date

2011-06-15 06:04:46     Close Date

2011-08-23 22:44:05

Priority:

Medium     Assignee:

steven miao

Status:

Closed     Fixed In Release:

N/A

Found In Release:

2011R1     Release:

Category:

N/A     Board:

N/A

Processor:

BF561     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

Fixed

Uboot version or rev.:

    Toolchain version or rev.:

gcc4.3-2010_Dec_09

App binary format:

N/A     

Summary: Kernel xip with bf561 SMP will crash in trunk

Details:

 

Kernel xip with bf561 SMP will crash in trunk.

 

--

U-Boot 2010.06 (ADI-2010R1-RC1) (Sep 29 2010 - 17:50:45)

 

CPU:   ADSP bf561-0.3 (Detected Rev: 0.5) (bypass boot)

Board: ADI BF561 EZ-Kit Lite board

       Support: http://blackfin.uclinux.org/

Clock: VCO: 600 MHz, Core: 600 MHz, System: 100 MHz

RAM:   64 MiB

Flash: 8 MiB

In:    serial

Out:   serial

Err:   serial

KGDB:  [on serial] ready

Net:   SMC91111-0

Hit any key to stop autoboot:  5 ^H^H^H 0

bfin> tftpboot 0x1000000 vmImage

SMC91111: MAC 00:e0:22:fe:ba:2a

Using SMC91111-0 device

TFTP from server 10.100.4.174; our IP address is 10.100.4.50

Filename 'vmImage'.

Load address: 0x1000000

Loading: *^H#################################################################

         #################################################################

         ##########################

done

Bytes transferred = 2289396 (22eef4 hex)

bfin> protect off 20040000 207fffff

Un-Protected 124 sectors

bfin> erase 20040000 207fffff

 

............................................................................................................................ done

Erased 124 sectors

bfin> cp.b 0x1000000 20040000 0x22eef4

Copy to Flash... done

bfin>

bfin> set bootargs root=/dev/nfs rw nfsroot=$(serverip):/tftpboot/romfs console=ttyBF0,57600

bfin> run addip

bfin> bootm 20040000

## Booting kernel from Legacy Image at 20040000 ...

   Image Name:   bf561-0.5-2.6.39.1-ADI-2011R1-pr

   Image Type:   Blackfin Linux Kernel Image (uncompressed)

   Data Size:    2289332 Bytes = 2.2 MiB

   Load Address: 20040040

   Entry Point:  201c9878

   Verifying Checksum ... OK

   Loading Kernel Image ... OK

OK

Starting Kernel at = 201c9878

console [ttyBF0] enabled, bootconsole disabled

Calibrating delay loop... 1124.35 BogoMIPS (lpj=2248704)

pid_max: default: 32768 minimum: 301

Mount-cache hash table entries: 512

------------[ cut here ]------------

kernel BUG at kernel/workqueue.c:2872!

Kernel panic - not syncing: BUG()

Hardware Trace:

   0 Target : <0x2004380c> { _trap_c + 0x0 }

     Source : <0x2004abfc> { _exception_to_level5 + 0xbc } CALL (P4)

   1 Target : <0x2004abc2> { _exception_to_level5 + 0x82 }

     Source : <0x2004abbe> { _exception_to_level5 + 0x7e } IF !CC JUMP pcrel

   2 Target : <0x2004ab40> { _exception_to_level5 + 0x0 }

     Source : <0x2004a9dc> { _bfin_return_from_exception + 0x20 } RTX

   3 Target : <0x2004a9bc> { _bfin_return_from_exception + 0x0 }

     Source : <0x2004aa90> { _ex_trap_c + 0x84 } JUMP.S

   4 Target : <0x2004aa24> { _ex_trap_c + 0x18 }

     Source : <0x2004aa20> { _ex_trap_c + 0x14 } IF !CC JUMP pcrel

   5 Target : <0x2004aa0c> { _ex_trap_c + 0x0 }

     Source : <0x2004ad1c> { _trap + 0xb4 } JUMP (P4)

   6 Target : <0x2004acdc> { _trap + 0x74 }

     Source : <0x2004acd8> { _trap + 0x70 } IF !CC JUMP pcrel

   7 Target : <0x2004acc2> { _trap + 0x5a }

     Source : <0x2004acbe> { _trap + 0x56 } IF CC JUMP pcrel

   8 Target : <0x2004acae> { _trap + 0x46 }

     Source : <0x2004ac9c> { _trap + 0x34 } JUMP.S

   9 Target : <0x2004ac68> { _trap + 0x0 }

      FAULT : <0x2006d4e8> { ___alloc_workqueue_key + 0xb4 } BUG

     Source : <0x2006d4e6> { ___alloc_workqueue_key + 0xb2 } IF CC JUMP pcrel (BP)

  10 Target : <0x2006d4de> { ___alloc_workqueue_key + 0xaa }

     Source : <0x2009b8ce> { _pcpu_alloc + 0x63a } RTS

  11 Target : <0x2009b8a8> { _pcpu_alloc + 0x614 }

     Source : <0x201c26f0> { _mutex_unlock + 0x24 } RTS

  12 Target : <0x201c26e6> { _mutex_unlock + 0x1a }

     Source : <0x2004d2b2> { ___raw_atomic_update_asm + 0x1a } RTS

  13 Target : <0x2004d2ae> { ___raw_atomic_update_asm + 0x16 }

     Source : <0x2004cfae> { _put_core_lock + 0x1a } RTS

  14 Target : <0x2004cf94> { _put_core_lock + 0x0 }

     Source : <0x2004d2aa> { ___raw_atomic_update_asm + 0x12 } JUMP.L

  15 Target : <0x2004d2a2> { ___raw_atomic_update_asm + 0xa }

     Source : <0x2004cf60> { _get_core_lock + 0x40 } RTS

Stack info:

SP: [0x0202bd34] <0x0202bd34> /* kernel dynamic memory (maybe user-space) */

FP: (0x0202bf48)

Memory from 0x0202bd30 to 0202c000

0202bd30: 00000013 [20209cf0]<201c1000> 2011c818  20209cf0  00007b5f  00007b5f  00007b5f

0202bd50: 0202bd7c  0202bf24 <20043cee> 00003000  0202be34  00000000  0000ffc0  00000021

0202bd70: 00000021  00000013  ffffffff  0000003f  0000001f  00000000  000279a4  00026ec0

0202bd90: 0202bdb4 <2004f896> 02029aec  000b840c  000b83d4  02029af4  02029d60  000b83d4

0202bdb0: 000b83d4  0202bdd4 <2004f97e> 000b83d4  0000d6c0  000b840c <200557d2> 02029ac0

0202bdd0: 000b83d4  0001ee24  0202be1c <201c1522> ffe05000  00030c60  02029d60  02029580

0202bdf0: 000b83d4  0001ee24  00000000  001c1522  00000000  0202ffff <2004abfe> 00003000

0202be10: 2004380c  2020edcc  00008008  00000021  00000100  020270c8  0000d6c0  20114524

0202be30: 00000480  00000480  00008008  00000021  00000000  0202bf10  00000480  2006d4e8

0202be50:<2006d4de> 0000008c  00003004  2011a8de  2011b840  2011a8d4  2011b840  00000000

0202be70: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

0202be90: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

0202beb0: 00000000  00000000  00000000  02005000  00000000  00000000  0202bf24  2006d434

0202bed0: 020270c0  2020edcc  0000df50  0001edf0  feb00000  00000100  00000000  00000100

0202bef0: 020270c8  00000001  0000001f  0003358c  0000008c  0000008c  feb00000  00000006

0202bf10: 0000005c  00000100  00000003  00000000  0000001f  2006b3f8 <201cb6b0> 2006d434

0202bf30: 00000002  00030300  00000000  2006b4ec  20113e4c  201d8910 (00000000)<200762f2>

0202bf50: 00000000  00000000  00000000  00003000  2004d158  201c325c  200642ec  2006c1fc

0202bf70: 20114038  0202bfac <2004015a> 0002f674  201cb474  00001010  0202a000  00000000

0202bf90: 00000000  00000000  00000000  00000000  201d8318  00000000  00000000  0002f678

0202bfb0:<201c34c2> 0002f674  20040040  00000000  0202a000  00000000  00000000  00000000

0202bfd0: 20040768  201d8908  00000002  00000000 <2004076e> 00000000  00000000  00000000

0202bff0: 00000000  00000000  ffffffff  00000006

Return addresses in stack:

    address : <0x201c1000> { _panic + 0x6c }

    address : <0x20043cee> { _trap_c + 0x4e2 }

    address : <0x2004f896> { _set_next_entity + 0x2e }

    address : <0x2004f97e> { _pick_next_task_fair + 0x76 }

    address : <0x200557d2> { _finish_task_switch + 0x5e }

    address : <0x201c1522> { _schedule + 0x1f2 }

    address : <0x2004abfe> { _exception_to_level5 + 0xbe }

    address : <0x2006d4de> { ___alloc_workqueue_key + 0xaa }

    address : <0x201cb6b0> { _init_workqueues + 0x23c }

   frame  1 : <0x200762f2> { _notifier_chain_register + 0x36 }

    address : <0x2004015a> { _do_one_initcall + 0x11a }

    address : <0x201c34c2> { _kernel_init + 0x7e }

    address : <0x2004076e> { _kernel_thread_helper + 0x6 }

 

 

(Then reset board)

 

 

U-Boot 2010.06 (ADI-2010R1-RC1) (Sep 29 2010 - 17:50:45)

 

CPU:   ADSP bf561-0.3 (Detected Rev: 0.5) (bypass boot)

Board: ADI BF561 EZ-Kit Lite board

       Support: http://blackfin.uclinux.org/

Clock: VCO: 600 MHz, Core: 600 MHz, System: 100 MHz

RAM:   64 MiB

Flash: 8 MiB

In:    serial

Out:   serial

Err:   serial

KGDB:  [on serial] ready

Net:   SMC91111-0

 

Log buffer from operating system:

arch/blackfin/kernel/setup.c : 1356 [cmdline_init]

arch/blackfin/mm/init.c : 69 [init_pda]

Linux version 2.6.39.1-ADI-2011R1-pre-svn9931 (test@uclinux65-561-SMP) (gcc version 4.3.5 (ADI-trunk/svn-5013) ) #4 SMP Wed Jun 1

register early platform devices

bootconsole [early_shadow0] enabled

Board Memory: 64MB

Kernel Managed Memory: 64MB

Memory map:

  fixedcode = 0x00000400-0x00000490

  text      = 0x20040040-0x201d7558

  rodata    = 0x201d7560-0x2023eac0

  bss       = 0x00001000-0x000165f4

  data      = 0x00016600-0x0002a000

    stack   = 0x00028000-0x0002a000

  init      = 0x0002a000-0x00032000

  available = 0x00032000-0x03f00000

  DMA Zone  = 0x03f00000-0x04000000

Hardware Trace active and enabled

Boot Mode: 0

Blackfin support (C) 2004-2010 Analog Devices, Inc.

Compiled for ADSP-BF561 Rev 0.5

Blackfin Linux support by http://blackfin.uclinux.org/

Processor Speed: 600 MHz core clock and 100 MHz System Clock

NOMPU: setting up cplb tables

NOMPU: setting up cplb tables

Instruction Cache Enabled for CPU0

  External memory: cacheable in instruction cache

  L2 SRAM        : uncacheable in instruction cache

Data Cache Enabled for CPU0

  External memory: cacheable (write-through) in data cache

  L2 SRAM        : uncacheable in data cache

PERCPU: Embedded 7 pages/cpu @000b7000 s6388 r8192 d14092 u32768

Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 16002

Kernel command line: root=/dev/nfs rw nfsroot=10.100.4.174:/tftpboot/romfs console=ttyBF0,57600 ip=10.100.4.50:10.100.4.174:10.1f

PID hash table entries: 256 (order: -2, 1024 bytes)

Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)

Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)

Memory available: 63672k/65536k RAM, (32k init code, 1629k kernel code, 4294965831k data, 1024k dma, 644k reserved)

Hierarchical RCU implementation.

NR_IRQS:153

Configuring Blackfin Priority Driven Interrupts

console [ttyBF0] enabled, bootconsole disabled

arch/blackfin/kernel/bfin_dma_5xx.c : 251 [blackfin_dma_early_init]

arch/blackfin/kernel/bfin_dma_5xx.c : 262 [early_dma_memcpy]

arch/blackfin/kernel/bfin_dma_5xx.c : 318 [early_dma_memcpy_done]

 

Hit any key to stop autoboot:  0

bfin>

--

 

Follow-ups

 

--- steven miao                                              2011-06-21 05:42:19

should be fixed by commit 436b29a0b2528237e270fa9c7ff8c02f2c7f7fb8

percpu section load address was not page size aligned on bf561 smp

 

http://blackfin.uclinux.org/git/linux-kernel?p=linux-kernel;a=commit;h=436b29a0b2528237e270fa9c7ff8c02f2c7f7fb8

 

--- Vivi Li                                                  2011-08-23 22:44:05

OK.

Close it.

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

config.linux.kernel_xip.fdpic    application/octet-stream    27200    Vivi Li

Outcomes