FAQ: [#6819] kernel xip in fdpic mode fail to boot with "Data access misaligned address violation" error(2011)

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

[#6819] kernel xip in fdpic mode fail to boot with "Data access misaligned address violation" error

Submitted By: Vivi Li

Open Date

2011-10-17 02:52:45     Close Date

2011-10-26 22:45:09

Priority:

Medium High     Assignee:

steven miao

Status:

Closed     Fixed In Release:

N/A

Found In Release:

2011R1     Release:

Category:

N/A     Board:

N/A

Processor:

ALL     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

Duplicate

Uboot version or rev.:

    Toolchain version or rev.:

gcc4.3-2011R1-RC2

App binary format:

N/A     

Summary: kernel xip in fdpic mode fail to boot with "Data access misaligned address violation" error

Details:

 

For bf537/bf527/bf548/bf561, kernel xip in fdpic mode fail to boot with "Data access misaligned address violation" error. Config files are attached.

It seems relates to bug [#6452].

 

--

U-Boot 2010.12-svn2539 (ADI-2011R1-pre) (Dec 23 2010 - 23:19:03)

 

CPU:   ADSP bf537-0.2 (Detected Rev: 0.2) (bypass boot)

Board: ADI BF537 stamp board

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

Clock: VCO: 500 MHz, Core: 500 MHz, System: 125 MHz

RAM:   64 MiB

Flash: 4 MiB

In:    serial

Out:   serial

Err:   serial

KGDB:  [on serial] ready

Net:   bfin_mac

Hit any key to stop autoboot:  0

bfin> set bootargs root=/dev/nfs rw nfsroot=10.100.4.174:/tftpboot/romfs,tcp,nfsvers=3 rootdelay=5 earlyprintk=serial,uart0,57600 console=ttyBF0,57600

bfin> run addip

bfin> bootm 20040000

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

   Image Name:   bf537-0.2-3.0.0-ADI-2011R1-pre-s

   Created:      2011-10-13  14:50:52 UTC

   Image Type:   Blackfin Linux Kernel Image (uncompressed)

   Data Size:    2161292 Bytes = 2.1 MiB

   Load Address: 20040040

   Entry Point:  201ac7a0

   Verifying Checksum ... OK

   Loading Kernel Image ... OK

OK

Starting Kernel at = 201ac7a0

Linux version 3.0.0-ADI-2011R1-pre-svn10095 (test@uclinux52-bf537-spinet) (gcc version 4.3.5 (ADI-2011R1-RC2) ) #100 Thu Oct 13 1

register early platform devices

bootconsole [early_shadow0] enabled

bootconsole [early_BFuart0] enabled

early printk enabled on early_BFuart0

Limiting kernel memory to 56MB due to anomaly 05000263

Board Memory: 64MB

Kernel Managed Memory: 64MB

Memory map:

  fixedcode = 0x00000400-0x00000490

  text      = 0x20040040-0x201b9c2c

  rodata    = 0x201b9c2c-0x2021f3fc

  bss       = 0x00001000-0x00013d24

  data      = 0x00013d24-0x00028000

    stack   = 0x00026000-0x00028000

  init      = 0x00028000-0x0002e000

  available = 0x0002e000-0x03800000

  DMA Zone  = 0x03f00000-0x04000000

Hardware Trace active and enabled

Boot Mode: 0

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

Compiled for ADSP-BF537 Rev 0.2

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

Processor Speed: 500 MHz core clock and 125 MHz System Clock

NOMPU: setting up cplb tables

Instruction Cache Enabled for CPU0

  External memory: cacheable in instruction cache

Data Cache Enabled for CPU0

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

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

Kernel command line: root=/dev/nfs rw nfsroot=10.100.4.174:/tftpboot/romfs,tcp,nfsvers=3 rootdelay=5 earlyprintk=serial,uart0,57f

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: 56552k/65536k RAM, (24k init code, 1510k kernel code, 4294965942k data, 1024k dma, 7780k reserved)

NR_IRQS:146

Configuring Blackfin Priority Driven Interrupts

console [ttyBF0] enabled, bootconsole disabled

console [ttyBF0] enabled, bootconsole disabled

Calibrating delay loop... 989.18 BogoMIPS (lpj=1978368)

pid_max: default: 32768 minimum: 301

Mount-cache hash table entries: 512

Blackfin Scratchpad data SRAM: 4 KB

Blackfin L1 Data A SRAM: 16 KB (16 KB free)

Blackfin L1 Data B SRAM: 16 KB (16 KB free)

Blackfin L1 Instruction SRAM: 48 KB (34 KB free)

NET: Registered protocol family 16

Blackfin DMA Controller

stamp_init(): registering device resources

bio: create slab <bio-0> at 0

Switching to clocksource bfin_cs_cycles

NET: Registered protocol family 2

IP route cache hash table entries: 1024 (order: 0, 4096 bytes)

TCP established hash table entries: 2048 (order: 2, 16384 bytes)

TCP bind hash table entries: 2048 (order: 1, 8192 bytes)

TCP: Hash tables configured (established 2048 bind 2048)

TCP reno registered

UDP hash table entries: 256 (order: 0, 4096 bytes)

UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)

NET: Registered protocol family 1

RPC: Registered named UNIX socket transport module.

RPC: Registered udp transport module.

RPC: Registered tcp transport module.

RPC: Registered tcp NFSv4.1 backchannel transport module.

debug-mmrs: setting up Blackfin MMR debugfs

msgmni has been set to 110

io scheduler noop registered (default)

bfin-uart: Blackfin serial driver

bfin-uart.0: ttyBF0 at MMIO 0xffc00400 (irq = 18) is a BFIN-UART

brd: module loaded

bfin_mii_bus: probed

bfin_mac: attached PHY driver [SMSC LAN83C185] (mii_bus:phy_addr=0:01, irq=-1, mdc_clk=2500000Hz(mdc_div=24)@sclk=125MHz)

bfin_mac bfin_mac.0: eth0: Blackfin on-chip Ethernet MAC driver, Version 1.1

TCP cubic registered

NET: Registered protocol family 17

IP-Config: Complete:

     device=eth0, addr=10.100.4.50, mask=255.255.255.0, gw=10.100.4.174,

     host=bf537-stamp, domain=, nis-domain=(none),

     bootserver=10.100.4.174, rootserver=10.100.4.174, rootpath=

dma_alloc_init: dma_page @ 0x02125000 - 256 pages at 0x03f00000

Waiting 5sec before mounting root device...

PHY: 0:01 - Link is Up - 100/Full

VFS: Mounted root (nfs filesystem) on device 0:11.

Data access misaligned address violation

<5> - Attempted misaligned data memory or data cache access.

Kernel OOPS in progress

Deferred Exception context

CURRENT PROCESS:

COMM=sh PID=1  CPU=0

TEXT = 0x02180040-0x021ab2e0        DATA = 0x021e0020-0x021ef168

BSS = 0x021ef168-0x021ef790  USER-STACK = 0x021f3fbc

 

return address: [0x20040afa]; contents of:

0x20040ad0:  6000  b0f0  b130  b170  e14a  2005  e10a  0e94

0x20040ae0:  e120  4111  0062  6cc6  0127  0010  3208  3046

0x20040af0:  4d68  4f68  3200  0578  0167 [b189] 6fa6  9142

0x20040b00:  303a  e512  0028  0c42  1805  e410  001c  e608

 

ADSP-BF537-0.2 500(MHz CCLK) 125(MHz SCLK) (mpu off)

Linux version 3.0.0-ADI-2011R1-pre-svn10095 (test@uclinux52-bf537-spinet) (gcc version 4.3.5 (ADI-2011R1-RC2) ) #100 Thu Oct 13 1

 

SEQUENCER STATUS:               Not tainted

SEQSTAT: 00000024  IPEND: 8008  IMASK: ffff  SYSCFG: 0006

  EXCAUSE   : 0x24

  physical IVG3 asserted : <0xffa00800> { _trap + 0x0 }

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

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

  logical irq  18 mapped  : <0x20118fcc> { _bfin_serial_dma_rx_int + 0x0 }

  logical irq  19 mapped  : <0x20118cf8> { _bfin_serial_dma_tx_int + 0x0 }

  logical irq 106 mapped  : <0x2012d610> { _bfin_mac_interrupt + 0x0 }

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

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

RETX: <0x00000480> /* Maybe fixed code section */

RETS: <0x200c0a2a> { _load_flat_binary + 0x306 }

PC  : <0x20040afa> { _start_thread + 0xe }

DCPLB_FAULT_ADDR: <0x0201a000> /* kernel dynamic memory (maybe user-space) */

ICPLB_FAULT_ADDR: <0x20040afa> { _start_thread + 0xe }

PROCESSOR STATE:

R0 : 0201a000    R1 : 02200044    R2 : 021f3fbc    R3 : 0001ffd9

R4 : 021f3fc4    R5 : 02200044    R6 : 021f3fbc    R7 : 00000000

P0 : 0201a000    P1 : 201a54f2    P2 : 20040aec    P3 : 0201bed0

P4 : ffa00168    P5 : 0201bed0    FP : 021f3fda    SP : 0201bdbc

LB0: 200c07d4    LT0: 200c07a6    LC0: 00000000

LB1: 200c07d2    LT1: 200c07b6    LC1: 00000000

B0 : 0000001b    L0 : 00000000    M0 : 0000002c    I0 : 0000c6d4

B1 : 00000000    L1 : 00000000    M1 : 00000000    I1 : 02265434

B2 : 00000000    L2 : 00000000    M2 : 00000000    I2 : 00000003

B3 : 00000000    L3 : 00000000    M3 : 00000000    I3 : 0000000f

A0.w: 008cd789   A0.x: 00000000   A1.w: 00000089   A1.x: 00000000

USP : 00000000  ASTAT: 02003024

 

Hardware Trace:

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

     Source : <0xffa00794> { _exception_to_level5 + 0xac } CALL (P4)

   1 Target : <0xffa006e8> { _exception_to_level5 + 0x0 }

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

   2 Target : <0xffa00574> { _bfin_return_from_exception + 0x0 }

     Source : <0xffa00638> { _ex_trap_c + 0x74 } JUMP.S

   3 Target : <0xffa005c4> { _ex_trap_c + 0x0 }

     Source : <0xffa00868> { _trap + 0x68 } JUMP (P4)

   4 Target : <0xffa0081e> { _trap + 0x1e }

     Source : <0xffa0081a> { _trap + 0x1a } IF CC JUMP pcrel

   5 Target : <0xffa00800> { _trap + 0x0 }

      FAULT : <0x20040afa> { _start_thread + 0xe } [P1 + 6] = R1

     Source : <0x20040af8> { _start_thread + 0xc } 0x0167

   6 Target : <0x20040aec> { _start_thread + 0x0 }

     Source : <0x200c0a28> { _load_flat_binary + 0x304 } CALL (P2)

   7 Target : <0x200c0a08> { _load_flat_binary + 0x2e4 }

     Source : <0x200c09a0> { _load_flat_binary + 0x27c } IF CC JUMP pcrel (BP)

   8 Target : <0x200c0980> { _load_flat_binary + 0x25c }

     Source : <0x200c0a78> { _load_flat_binary + 0x354 } JUMP.S

   9 Target : <0x200c0a70> { _load_flat_binary + 0x34c }

     Source : <0x200c0a4c> { _load_flat_binary + 0x328 } IF !CC JUMP pcrel (BP)

  10 Target : <0x200c0a4a> { _load_flat_binary + 0x326 }

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

  11 Target : <0xffa001be> { __access_ok + 0x56 }

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

  12 Target : <0xffa001d2> { __access_ok + 0x6a }

     Source : <0xffa001a2> { __access_ok + 0x3a } IF !CC JUMP pcrel (BP)

  13 Target : <0xffa00168> { __access_ok + 0x0 }

     Source : <0x200c0a48> { _load_flat_binary + 0x324 } CALL (P4)

  14 Target : <0x200c0a42> { _load_flat_binary + 0x31e }

     Source : <0x200c097e> { _load_flat_binary + 0x25a } IF !CC JUMP pcrel

  15 Target : <0x200c0979> { _load_flat_binary + 0x255 }

     Source : <0x200c0984> { _load_flat_binary + 0x260 } IF !CC JUMP pcrel (BP)

Kernel Stack

Stack info:

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

--

 

Follow-ups

 

--- steven miao                                              2011-10-20 02:50:52

duplicate with 6452, test can pass now, misalignment in kernel_execve()

 

--- Vivi Li                                                  2011-10-26 22:52:31

Close this bug as it's duplicated with 6452.

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

config.config.kernel_xip.shared-flat    application/octet-stream    48248    Vivi Li

config.linux.kernel_xip.shared-flat    application/octet-stream    29373    Vivi Li

Outcomes