FAQ: [#6625] reading IMDMA_*_PERIPHERAL_MAP via debugfs mmrs will trigger System MMR Error(2011)

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

[#6625] reading IMDMA_*_PERIPHERAL_MAP via debugfs mmrs will trigger System MMR Error

Submitted By: Vivi Li

Open Date

2011-06-07 05:57:26     Close Date

2011-08-23 22:28:34

Priority:

Medium     Assignee:

Mike Frysinger

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: reading IMDMA_*_PERIPHERAL_MAP via debugfs mmrs will trigger System MMR Error

Details:

 

Read IMDMA_S1_PERIPHERAL_MAP via debugfs mmrs will cause kernel crash on bf561-ezkit.

 

Bellow is the log:

--

root:/> find /sys/kernel/debug/blackfin/ -type f -print -exec cat '{}' \;

...

/sys/kernel/debug/blackfin/imdma/IMDMA_S1_PERIPHERAL_MAP

System MMR Error

<5> - An error occurred due to an invalid access to an System MMR location

<5>   Possible reason: a 32-bit register is accessed with a 16-bit instruction

<5>   or a 16-bit register is accessed with a 32-bit instruction.

Kernel OOPS in progress

HW Error context

CURRENT PROCESS:

COMM=cat PID=420  CPU=0

TEXT = 0x02a00040-0x02a54140        DATA = 0x02a54160-0x02a68a68

BSS = 0x02a68a68-0x02a6a420  USER-STACK = 0x02a73f48

 

return address: [0x0007e880]; contents of:

0x0007e860:  0010  0000  0000  3210  6000  9711  0010  0000

0x0007e870:  3210  3209  9510  42c0  6001  9308  b049  6000

0x0007e880: [0010] 0000  0000  3210  6000  9311  0010  0000

0x0007e890:  3210  3209  9110  9308  6000  b048  0010  0000

ADSP-BF561-0.5 600(MHz CCLK) 100(MHz SCLK) (mpu off)

Linux version 2.6.39.1-ADI-2011R1-pre-svn9923 (test@linux66-561-jtag-capture) (gcc version 4.3.5 (ADI-trunk/svn-5013) ) #102 Mon Jun 6 11:58:41 CST 2011

 

SEQUENCER STATUS:               Not tainted

SEQSTAT: 0000a03f  IPEND: 8030  IMASK: 0000  SYSCFG: 0006

  Global Interrupts Disabled (IPEND[4])

  Peripheral interrupts masked off

  Kernel interrupts masked off

  HWERRCAUSE: 0x2

  EXCAUSE   : 0x3f

  interrupts disabled

  physical IVG5 asserted : <0xffa00d78> { _evt_ivhw + 0x0 }

  physical IVG15 asserted : <0xffa010f4> { _evt_system_call + 0x0 }

  logical irq   6 mapped  : <0xffa0044c> { _bfin_coretmr_interrupt + 0x0 }

  logical irq  35 mapped  : <0x000a68c4> { _bfin_serial_dma_rx_int + 0x0 }

  logical irq  36 mapped  : <0x000a6630> { _bfin_serial_dma_tx_int + 0x0 }

  logical irq  82 mapped  : <0x000b8e7c> { _smc_interrupt + 0x0 }

RETE: <0x00000000> /* Maybe null pointer? */

RETN: <0x02070000> /* kernel dynamic memory (maybe user-space) */

RETX: <0x02a0330e> /* kernel dynamic memory (maybe user-space) */

RETS: <0x0005e4a8> { _simple_attr_read + 0x78 }

PC  : <0x0007e880> { _debugfs_u16_get + 0x10 }

PROCESSOR STATE:

R0 : 00000000    R1 : 00000000    R2 : 00000000    R3 : 00000000

R4 : 00001000    R5 : 02a72e5c    R6 : 0273e4c0    R7 : 00000000

P0 : 0255dd1c    P1 : 0206fe88    P2 : ffc018ec    P3 : 00000001

P4 : 0206fef0    P5 : 0273e480    FP : 02a72e24    SP : 0206fd98

LB0: 02a0cd5b    LT0: 02a0cd52    LC0: 0000000e

LB1: 0298cfc9    LT1: 0298cf7e    LC1: 00000000

B0 : 00000000    L0 : 00000000    M0 : 00000004    I0 : 02a73fed

B1 : 00000000    L1 : 00000000    M1 : 00000000    I1 : 02a6308c

B2 : 00000000    L2 : 00000000    M2 : 00000000    I2 : 02a73e94

B3 : 00000000    L3 : 00000000    M3 : 00000000    I3 : 00000000

A0.w: 0000147a   A0.x: 00000000   A1.w: 0000147a   A1.x: 00000000

USP : 02a72e18  ASTAT: 02000060

Hardware Trace:

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

     Source : <0xffa00e30> { _evt_ivhw + 0xb8 } JUMP.L

   1 Target : <0xffa00e12> { _evt_ivhw + 0x9a }

     Source : <0xffa00e04> { _evt_ivhw + 0x8c } IF !CC JUMP pcrel

   2 Target : <0xffa00df4> { _evt_ivhw + 0x7c }

     Source : <0xffa00df0> { _evt_ivhw + 0x78 } IF CC JUMP pcrel

   3 Target : <0xffa00d78> { _evt_ivhw + 0x0 }

      FAULT : <0x0007e87e> { _debugfs_u16_get + 0xe } 0x6000

   4 Target : <0x0007e870> { _debugfs_u16_get + 0x0 }

     Source : <0x0005e4a6> { _simple_attr_read + 0x76 } CALL (P2)

   5 Target : <0x0005e49e> { _simple_attr_read + 0x6e }

     Source : <0x0005e466> { _simple_attr_read + 0x36 } IF CC JUMP pcrel (BP)

   6 Target : <0x0005e458> { _simple_attr_read + 0x28 }

     Source : <0xffa02a40> { _mutex_lock_interruptible + 0x38 } RTS

   7 Target : <0xffa02a14> { _mutex_lock_interruptible + 0xc }

     Source : <0xffa0217c> { __cond_resched + 0x20 } RTS

   8 Target : <0xffa02176> { __cond_resched + 0x1a }

     Source : <0xffa0216e> { __cond_resched + 0x12 } IF CC JUMP pcrel (BP)

   9 Target : <0xffa0215c> { __cond_resched + 0x0 }

     Source : <0xffa02a10> { _mutex_lock_interruptible + 0x8 } CALL pcrel

  10 Target : <0xffa02a08> { _mutex_lock_interruptible + 0x0 }

     Source : <0x0005e454> { _simple_attr_read + 0x24 } JUMP.L

  11 Target : <0x0005e430> { _simple_attr_read + 0x0 }

     Source : <0x00049b98> { _vfs_read + 0x60 } CALL (P2)

  12 Target : <0x00049b7e> { _vfs_read + 0x46 }

     Source : <0x0004931c> { _rw_verify_area + 0x44 } RTS

  13 Target : <0x000492d8> { _rw_verify_area + 0x0 }

     Source : <0x00049b7a> { _vfs_read + 0x42 } CALL pcrel

  14 Target : <0x00049b6e> { _vfs_read + 0x36 }

     Source : <0xffa001b6> { __access_ok + 0x5e } RTS

  15 Target : <0xffa001ae> { __access_ok + 0x56 }

     Source : <0xffa001c8> { __access_ok + 0x70 } JUMP.S

Kernel Stack

Stack info:

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

Memory from 0x0206ff20 to 02070000

0206ff20: 00000003 [02a0330e] 00008000  00002000  00000000  02070000  02a0330e  02a0330e

0206ff40: 02a50910  ffa01158  02001044  0298cfc9  02a0cd5b  0298cf7e  02a0cd52  00000000

0206ff60: 0000000e  0000147a  00000000  0000147a  00000000  00000000  00000000  00000000

0206ff80: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

0206ffa0: 00000004  00000000  02a73e94  02a6308c  02a73fed  02a72e18  02a72e24  02a699f0

0206ffc0: 00000000  00000001  02a69f08 <02a73f72> 00000003  00001000  02a72e5c  00000003

0206ffe0: 00000001  00000000  00001000  02a72e5c  00000003  00000003  00000003  00000006

Return addresses in stack:

    address : <0x02a73f72> /* kernel dynamic memory (maybe user-space) */

Modules linked in:

Kernel panic - not syncing: Kernel exception

Hardware Trace:

Stack info:

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

FP: (0x0206fe8c)

Memory from 0x0206fca0 to 02070000

0206fca0:[0013a1a8] 0010e228  0206fd98  0013a1a8  0016a4bb  0016a4bb  0016a4bb  0206fce8

0206fcc0: 02a72e24  00004468  0206fd98  0206fef0  00000001  00000000  00000007  0000003f

0206fce0: 00000013  0206fd98  0000ffff  ffffffff  0233d1e0  0007e870  00030001  00144c84

0206fd00: 00000000  025faa54  0004ff06  0007ee14  0233d1e0  0255dd1c  0007edf0  00000000

0206fd20: 0200eee0  0206fdf0  00001051  026dd2b4  0004ff06  0007e864  00144c84 <000481e4>

0206fd40: 00000001  00000001  0206fda8  0206fec4  000483ac  0233d1e0  0206fec4  0004fa6a

0206fd60: 0206fe34  0206fe34  00000000  00000000  00000000  ffa00e34  ffc00014  00000000

0206fd80: 0273e4c0  02a72e5c  00001000  00000000  0211f021  02727400  02a0330e  00008030

0206fda0: 0000a03f  00000000  02070000  02a0330e  0007e880 <0005e4a8> 00000000  02000060

0206fdc0: 0298cfc9  02a0cd5b  0298cf7e  02a0cd52  00000000  0000000e  0000147a  00000000

0206fde0: 0000147a  00000000  00000000  00000000  00000000  00000000  00000000  00000000

0206fe00: 00000000  00000000  00000000  00000000  00000000  00000004  00000000  02a73e94

0206fe20: 02a6308c  02a73fed  02a72e18  02a72e24  0273e480  0206fef0  00000001  ffc018ec

0206fe40: 0206fe88  0255dd1c  00000000  0273e4c0  02a72e5c  00001000  00000000  00000000

0206fe60: 00000000  00000000  00000000  0255dd1c  00000006  0201ce04  00000003  00000000

0206fe80: 00000000  00000000  0000b0cb (00000000)<00049b9a> 0233d1e0  00000003  0206fef0

0206fea0: 00001000  02a72e5c  00000001  029f3b74  00000020  0233d1e8  0206fef0  00000000

0206fec0: 00000000  00049cb0  0233d1e0  00000003  02a72e5c  00001000  00000003  00000001

0206fee0: 02a6881c  00000000  ffffe000  0206fef0  00000000  00000000  00000000 <ffa009b2>

0206ff00: 00049c80  00000000  ffffe000  02044ff6  0205c320  0205c5a0  00000000  00000001

0206ff20: 00000003  02a0330e  00008000  00002000  00000000  02070000  02a0330e  02a0330e

0206ff40: 02a50910  ffa01158  02001044  0298cfc9  02a0cd5b  0298cf7e  02a0cd52  00000000

0206ff60: 0000000e  0000147a  00000000  0000147a  00000000  00000000  00000000  00000000

0206ff80: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

0206ffa0: 00000004  00000000  02a73e94  02a6308c  02a73fed  02a72e18  02a72e24  02a699f0

0206ffc0: 00000000  00000001  02a69f08 <02a73f72> 00000003  00001000  02a72e5c  00000003

0206ffe0: 00000001  00000000  00001000  02a72e5c  00000003  00000003  00000003  00000006

Return addresses in stack:

    address : <0x000481e4> { ___dentry_open + 0xc0 }

    address : <0x0005e4a8> { _simple_attr_read + 0x78 }

   frame  1 : <0x00049b9a> { _vfs_read + 0x62 }

    address : <0xffa009b2> { _system_call + 0x6a }

    address : <0x02a73f72> /* kernel dynamic memory (maybe user-space) */

 

 

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:

--

 

Follow-ups

 

--- Mike Frysinger                                           2011-06-08 16:23:49

the HRM says that IMDMA_PERIPHERAL_MAP should exist, but clearly reading any of

them on the hardware results in a System MMR error (which indicates they dont

exist).  ive sent an e-mail to processor support about it.

 

--- Mike Frysinger                                           2011-07-21 10:18:06

i committed a patch to disable PERIPHERAL_MAP MMRs for IMDMA devices

 

--- Vivi Li                                                  2011-08-23 22:28:34

OK now.

Close it.

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes