[#5287] kgdb kernel with write through policy on bf533 stamp would have dump info

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

[#5287] kgdb kernel with write through policy on bf533 stamp would have dump info

Submitted By: Mingquan Pan

Open Date

2009-06-22 03:38:11    

Priority:

Medium     Assignee:

Sonic Zhang

Status:

Open     Fixed In Release:

N/A

Found In Release:

N/A     Release:

Category:

N/A     Board:

N/A

Processor:

BF533     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

Fixed

Uboot version or rev.:

    Toolchain version or rev.:

09r1-rc7

App binary format:

N/A     

Summary: kgdb kernel with write through policy on bf533 stamp would have dump info

Details:

 

kgdb kernel with write through policy on bf533 stamp would have dump info.

 

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

   Image Name:   Linux-2.6.28.10-ADI-2009R1-svn67

   Created:      2009-06-16  18:02:41 UTC

   Image Type:   Blackfin Linux Kernel Image (gzip compressed)

   Data Size:    4089856 Bytes =  3.9 MB

   Load Address: 00001000

   Entry Point:  0018f52c

   Verifying Checksum ... OK

   Uncompressing Kernel Image ... OK

Starting Kernel at = 0018f52c

Linux version 2.6.28.10-ADI-2009R1-svn6753 (test@uclinux75-bf533-stamp-wt) (gcc version 4.1.2 (ADI svn)) #4 Wed Jun 17 02:02:27 CST 2009

Warning: limiting memory to 56MB due to hardware anomaly 05000263

Board Memory: 128MB

Kernel Managed Memory: 128MB

Memory map:

  fixedcode = 0x00000400-0x00000490

  text      = 0x00001000-0x0010cf60

  rodata    = 0x0010cf60-0x0015cee0

  bss       = 0x0015d000-0x001749c4

  data      = 0x001749c4-0x00184000

    stack   = 0x00182000-0x00184000

  init      = 0x00184000-0x007cc000

  available = 0x007cc000-0x037ff000

  DMA Zone  = 0x07f00000-0x08000000

Hardware Trace Active and Enabled

Boot Mode: 0

Reset caused by Software reset

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

Compiled for ADSP-BF533 Rev 0.3

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

Processor Speed: 398 MHz core clock and 79 MHz System Clock

NOMPU: setting up cplb tables

Instruction Cache Enabled for CPU0

Data Cache Enabled for CPU0 (write-through)

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

Kernel command line: console=ttyBF0,57600 kgdboe=@10.100.4.50/,@10.100.4.174/

kgdboe: local port 6443

kgdboe: local IP 10.100.4.50

kgdboe: interface eth0

kgdboe: remote port 6442

kgdboe: remote IP 10.100.4.174

kgdboe: remote ethernet address ff:ff:ff:ff:ff:ff

Configuring Blackfin Priority Driven Interrupts

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

bfin-rtc: invalid date; resetting

console [ttyBF0] enabled

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

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

Memory available: 48788k/131072k RAM, (6432k init code, 1071k kernel code, 477k data, 1024k dma, 73280k reserved)

Calibrating delay loop... 790.52 BogoMIPS (lpj=1581056)

Security Framework initialized

Mount-cache hash table entries: 512

Blackfin Scratchpad data SRAM: 4 KB

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

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

Blackfin L1 Instruction SRAM: 64 KB (52 KB free)

net_namespace: 288 bytes

NET: Registered protocol family 16

Blackfin DMA Controller

stamp_init(): registering device resources

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

NET: Registered protocol family 1

msgmni has been set to 95

io scheduler noop registered

io scheduler anticipatory registered (default)

io scheduler cfq registered

Serial: Blackfin serial driver

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

brd: module loaded

smc91x.c: v1.1, sep 22 2004 by Nicolas Pitre <nico@cam.org>

eth0: SMC91C11xFD (rev 1) at 20300300 IRQ 40 [nowait]

eth0: Ethernet addr: f2:06:01:61:68:b5

kgdboe: local port 6443

kgdboe: local IP 10.100.4.50

kgdboe: interface eth0

kgdboe: remote port 6442

kgdboe: remote IP 10.100.4.174

kgdboe: remote ethernet address ff:ff:ff:ff:ff:ff

kgdboe: device eth0 not up yet, forcing it

eth0: link down

eth0: link up, 100Mbps, full-duplex, lpa 0x45E1

kgdb: Registered I/O driver kgdboe.

kgdboe: debugging over ethernet enabled

bfin-spi bfin-spi.0: Blackfin on-chip SPI Controller Driver, Version 1.0, regs_base@ffc00500, dma channel@5

rtc-bfin rtc-bfin: rtc core: registered rtc-bfin as rtc0

TCP cubic registered

NET: Registered protocol family 17

rtc-bfin rtc-bfin: setting system clock to 1970-01-02 02:37:45 UTC (95865)

Freeing unused kernel memory: 6432k freed

dma_alloc_init: dma_page @ 0x007c9000 - 256 pages at 0x07f00000

                           _____________________________________

        a8888b.           / Welcome to the uClinux distribution \

       d888888b.         /       _     _                         \

       8P"YP"Y88        /       | |   |_|            __  __ (TM)  |

       8|o||o|88  _____/        | |    _ ____  _   _ \ \/ /       |

       8'    .88       \        | |   | |  _ \| | | | \  /        |

       8`._.' Y8.       \       | |__ | | | | | |_| | /  \        |

      d/      `8b.       \      \____||_|_| |_|\____|/_/\_\       |

     dP   .    Y8b.       \   For embedded processors including   |

    d8:'  "  `::88b        \    the Analog Devices Blackfin      /

   d8"         'Y88b        \___________________________________/

  :8P    '      :888

   8a.   :     _a88P         For further information, check out:

._/"Yaa_:   .| 88P|            - http://blackfin.uclinux.org/

\    YP"    `| 8P  `.          - http://docs.blackfin.uclinux.org/

/     \.___.d|    .'           - http://www.uclinux.org/

`--..__)8888P`._.'  jgs/a:f    - http://www.analog.com/blackfin

 

Have a lot of fun...

 

 

BusyBox v1.13.4 (2009-06-16 22:14:36 CST) built-in shell (msh)

Enter 'help' for a list of built-in commands.

 

root:/> version

kernel:    Linux release 2.6.28.10-ADI-2009R1-svn6753, build #4 Wed Jun 17 02:02:27 CST 2009

toolchain: bfin-uclinux-gcc release gcc version 4.1.2 (ADI svn)

user-dist: release svn-8295, build #8 Wed Jun 17 02:01:20 CST 2009

root:/>

************** STEP 3: Start KGDB TEST

 

ifconfig eth0 10.100.4.50

root:/> GNU gdb 6.6

Copyright (C) 2006 Free Software Foundation, Inc.

GDB is free software, covered by the GNU General Public License, and you are

welcome to change it and/or distribute copies of it under certain conditions.

Type "show copying" to see the conditions.

There is absolutely no warranty for GDB.  Type "show warranty" for details.

This GDB was configured as "--host=i686-pc-linux-gnu --target=bfin-uclinux"...

(gdb)

Case 1 ...PASS

 

Case 1 ...PASS

target remote udp:10.100.4.50:6443

warning: The remote protocol may be unreliable over UDP.

Some events may be lost, rendering further debugging impossible.

Remote debugging using udp:10.100.4.50:6443

kgdb_breakpoint () at kernel/kgdb.c:1722

 

Case 2 ...PASS

 

Case 2 ...PASS

1722            atomic_set(&kgdb_setting_breakpoint, 0);

(gdb) break kgdb_test

Breakpoint 1 at 0x8f9a: file arch/blackfin/kernel/kgdb_test.c, line 57.

 

Case 3 ...PASS

 

Case 3 ...PASS

(gdb) c

Continuing.

 

Case 4 ...PASS

 

Case 4 ...PASS

 

root:/> [New Thread 153]

[Switching to Thread 153]

 

Breakpoint 1, kgdb_test (name=0x10d9d0 "hello world!", len=12, count=85, z=16) at arch/blackfin/kernel/kgdb_test.c:57

 

Case 5 ...PASS

 

Case 5 ...PASS

57              printk(KERN_DEBUG "kgdb name(%d): %s, %d, %d\n", len, name, count, z);

(gdb) hbreak 58

Hardware assisted breakpoint 2 at 0x8fbc: file arch/blackfin/kernel/kgdb_test.c, line 58.

(gdb)

Case 6 ...PASS

 

Case 6 ...PASS

info b

Num Type           Disp Enb Address    What

1   breakpoint     keep y   0x00008f9a in kgdb_test at arch/blackfin/kernel/kgdb_test.c:57

        breakpoint already hit 1 time

2   hw breakpoint  keep y   0x00008fbc in kgdb_test at arch/blackfin/kernel/kgdb_test.c:58

 

Case 7 ...PASS

 

Case 7 ...PASS

(gdb) list

52      #endif

53

54

55      int kgdb_test(char *name, int len, int count, int z)

56      {

57              printk(KERN_DEBUG "kgdb name(%d): %s, %d, %d\n", len, name, count, z);

58              count = z;

59              return count;

60      }

61

(gdb)

Case 8 ...PASS

 

Case 8 ...PASS

bt

#0  kgdb_test (name=0x10d9d0 "hello world!", len=12, count=85, z=16) at arch/blackfin/kernel/kgdb_test.c:57

 

Case 9 ...PASS

 

Case 9 ...PASS

#1  0x00008fec in test_proc_output (buf=0x1cf000 "") at arch/blackfin/kernel/kgdb_test.c:64

#2  0x00009016 in test_read_proc (page=0x1cf000 "", start=0x37d7e64, off=0, count=3072, eof=0x37d7e68, data=0x0) at arch/blackfin/kernel/kgdb_test.c:80

#3  0x0006ddc0 in proc_file_read (file=<value optimized out>, buf=0x31e1e8c "", nbytes=4096, ppos=0x37d7eec) at fs/proc/generic.c:120

#4  0x0006a0f4 in proc_reg_read (file=0x37d7eec, buf=0xc <Address 0xc out of bounds>, count=85, ppos=0x37d7eec) at fs/proc/inode.c:191

#5  0x00042bd0 in vfs_read (file=0xa8c2c0, buf=0x31e1e8c "", count=4096, pos=0x37d7eec) at fs/read_write.c:279

#6  0x00042e08 in sys_read (fd=<value optimized out>, buf=0x31e1e8c "", count=4096) at fs/read_write.c:368

#7  0xffa00960 in system_call () at /home/test/work/cruise/checkouts/uclinux-dist/linux-2.6.x/arch/blackfin/include/asm/current.h:17

(gdb) c

Continuing.

 

Breakpoint 2, kgdb_test (name=0x10d9d0 "hello world!", len=12, count=85, z=16) at arch/blackfin/kernel/kgdb_test.c:58

 

Case 10 ...PASS

 

Case 10 ...PASS

58              count = z;

(gdb) cat /proc/kgdbtest

kgdb name(12): hello world!, 85, 16

 

Case 10 ...PASS

 

Case 10 ...PASS

print z

$1 = 16

 

Case 12 ...PASS

 

Case 12 ...PASS

(gdb) c

Continuing.

L1(before change) : data variable addr = 0xff800000, data value is 0

L1 : code function addr = 0xffa003b4

L1(after change) : data variable addr = 0xff800000, data value is 10

root:/>

Case 12 ...PASS

 

Case 12 ...PASS

[New Thread 154]

[Switching to Thread 154]

 

Breakpoint 1, kgdb_test (name=0x10d9d0 "hello world!", len=12, count=85, z=16) at arch/blackfin/kernel/kgdb_test.c:57

57              printk(KERN_DEBUG "kgdb name(%d): %s, %d, %d\n", len, name, count, z);

(gdb) hbreak kgdb_l1_test

Hardware assisted breakpoint 3 at 0xffa003b8: file arch/blackfin/kernel/kgdb_test.c, line 30.

 

Case 13 ...PASS

 

Case 13 ...PASS

(gdb) break 33

Breakpoint 4 at 0xffa0040c: file arch/blackfin/kernel/kgdb_test.c, line 33.

 

Case 14 ...PASS

 

Case 14 ...PASS

(gdb) c

Continuing.

 

Breakpoint 2, kgdb_test (name=0x10d9d0 "hello world!", len=12, count=85, z=16) at arch/blackfin/kernel/kgdb_test.c:58

58              count = z;

(gdb) cat /proc/kgdbtest

kgdb name(12): hello world!, 85, 16

 

Case 14 ...PASS

 

Case 14 ...PASS

c

Continuing.

 

Breakpoint 3, kgdb_l1_test () at arch/blackfin/kernel/kgdb_test.c:30

30              printk(KERN_ALERT "L1(before change) : data variable addr = 0x%p, data value is %d\n", &num1, num1);

(gdb) print num1

$2 = 10

 

Case 15 ...PASS

 

Case 15 ...PASS

(gdb) c

Continuing.

 

Breakpoint 4, kgdb_l1_test () at arch/blackfin/kernel/kgdb_test.c:33

33              printk(KERN_ALERT "L1(after change) : data variable addr = 0x%p, data value is %d\n", &num1, num1);

(gdb) print num1

$3 = 20

 

Case 16 ...PASS

 

Case 16 ...PASS

(gdb) L1(before change) : data variable addr = 0xff800000, data value is 10

L1 : code function addr = 0xffa003b4

 

Case 16 ...PASS

 

Case 16 ...PASS

x/1xw 0xff808010

0xff808010:     Cannot access memory at address 0xff808010

 

Case 17 ...PASS

 

Case 17 ...PASS

(gdb) set *0xff808020 = 23

Cannot access memory at address 0xff808020

 

Case 18 ...PASS

 

Case 18 ...PASS

(gdb)  x/1xw 0xffc00400

0xffc00400:     0x000d000d

 

Case 19 ...PASS

 

Case 19 ...PASS

(gdb) set *0xffe08100=0x456

(gdb)  x/1xw 0xffe08100

0xffe08100:     0x00000456

 

Case 20 ...PASS

 

Case 20 ...PASS

(gdb) d 1

(gdb) d 2

(gdb) info break

Num Type           Disp Enb Address    What

3   hw breakpoint  keep y   0xffa003b8 in kgdb_l1_test at arch/blackfin/kernel/kgdb_test.c:30

        breakpoint already hit 1 time

4   breakpoint     keep y   0xffa0040c in kgdb_l1_test at arch/blackfin/kernel/kgdb_test.c:33

        breakpoint already hit 1 time

 

Case 21 ...PASS

 

Case 21 ...PASS

(gdb) info reg

r0             0x14     20

r1             0xffff   65535

r2             0xffffffff       -1

r3             0xffffff68       -152

r4             0x37c6000        58482688

r5             0x0      0

r6             0x7fffffff       2147483647

r7             0x0      0

p0             0x1259   0x1259

p1             0x176df4 0x176df4

p2             0xff800000       0xff800000

p3             0x31e1e8c        0x31e1e8c

p4             0xc00    0xc00

p5             0x1000   0x1000

sp             0x37d7dfc        0x37d7dfc

fp             0x37d7e0c        0x37d7e0c

i0             0x8      8

i1             0xf      15

i2             0x0      0

i3             0x1150c0 1134784

m0             0x1      1

m1             0x0      0

m2             0x0      0

m3             0x0      0

b0             0x1b     27

b1             0x0      0

b2             0x0      0

b3             0x0      0

l0             0x0      0

l1             0x0      0

l2             0x0      0

l3             0x0      0

a0x            0x0      0

a0w            0x0      0

a1x            0x0      0

a1w            0x0      0

astat          0x2002000        33562624

rets           0xffa003f6       0xffa003f6 <kgdb_l1_test+66>

lc0            0x7      7

lt0            0x318c2fe        51954430

lb0            0x318c307        51954439

lc1            0x0      0

lt1            0x8dbdc  580572

lb1            0x8dbec  580588

cycles         0x0      0

cycles2        0x0      0

usp            0x31e1e48        0x31e1e48

seqstat        0x62001  401409

syscfg         0x6      6

reti           0xffa0040e       -6290418

retx           0x480    1152

retn           0x37d7e00        58555904

rete           0x0      0

---Type <return> to continue, or q <return> to quit---

pc             0xffa0040c       0xffa0040c <kgdb_l1_test+88>

cc             0x0      0

text_addr      0x0      0

text_end_addr  0x0      0

data_addr      0x0      0

fdpic_exec     0x0      0

fdpic_interp   0x0      0

ipend          0x8030   32816

(gdb)

Case 22 ...PASS

 

Case 22 ...PASS

disassemble

Dump of assembler code for function kgdb_l1_test:

0xffa003b4 <kgdb_l1_test+0>:    LINK 0xc;               /* (12) */

0xffa003b8 <kgdb_l1_test+4>:    P2.H = 0xff80;          /* (-128)       P2=0x0xff800000 <num1> */

0xffa003bc <kgdb_l1_test+8>:    P2.L = 0x0;             /* (  0)        P2=0x0xff800000 <num1> */

0xffa003c0 <kgdb_l1_test+12>:   R2 = [P2];

0xffa003c2 <kgdb_l1_test+14>:   R0.H = 0x10;            /* ( 16)        R0=0x0x100000 <__xfrm4_init_tempsel+256>(1048576) */

0xffa003c6 <kgdb_l1_test+18>:   R0.L = 0xd904;          /* (-9980)      R0=0x0x10d904(1104132) */

0xffa003ca <kgdb_l1_test+22>:   R1.H = 0xff80;          /* (-128)       R1=0x0xff800000 <num1>(-8388608) */

0xffa003ce <kgdb_l1_test+26>:   R1.L = 0x0;             /* (  0)        R1=0x0xff800000 <num1>(-8388608) */

0xffa003d2 <kgdb_l1_test+30>:   P2.H = 0x1;             /* (  1)        P2=0x0x10000 <copy_process+1340> */

0xffa003d6 <kgdb_l1_test+34>:   P2.L = 0x1750;          /* (5968)       P2=0x0x11750 <printk> */

0xffa003da <kgdb_l1_test+38>:   CALL (P2);

0xffa003dc <kgdb_l1_test+40>:   R0.H = 0x10;            /* ( 16)        R0=0x0x10d904(1104132) */

0xffa003e0 <kgdb_l1_test+44>:   R0.L = 0xd948;          /* (-9912)      R0=0x0x10d948(1104200) */

0xffa003e4 <kgdb_l1_test+48>:   R1.H = 0xffa0;          /* (-96)        R1=0x0xffa00000 <ret_from_fork>(-6291456) */

0xffa003e8 <kgdb_l1_test+52>:   R1.L = 0x3b4;           /* (948)        R1=0x0xffa003b4 <kgdb_l1_test>(-6290508) */

0xffa003ec <kgdb_l1_test+56>:   P2.H = 0x1;             /* (  1)        P2=0x0x11750 <printk> */

0xffa003f0 <kgdb_l1_test+60>:   P2.L = 0x1750;          /* (5968)       P2=0x0x11750 <printk> */

0xffa003f4 <kgdb_l1_test+64>:   CALL (P2);

0xffa003f6 <kgdb_l1_test+66>:   P2.H = 0xff80;          /* (-128)       P2=0x0xff801750 */

0xffa003fa <kgdb_l1_test+70>:   P2.L = 0x0;             /* (  0)        P2=0x0xff800000 <num1> */

0xffa003fe <kgdb_l1_test+74>:   R0 = [P2];

0xffa00400 <kgdb_l1_test+76>:   R0 += 0xa;              /* ( 10) */

0xffa00402 <kgdb_l1_test+78>:   P2.H = 0xff80;          /* (-128)       P2=0x0xff800000 <num1> */

0xffa00406 <kgdb_l1_test+82>:   P2.L = 0x0;             /* (  0)        P2=0x0xff800000 <num1> */

0xffa0040a <kgdb_l1_test+86>:   [P2] = R0;

0xffa0040c <kgdb_l1_test+88>:   P2.H = 0xff80;          /* (-128)       P2=0x0xff800000 <num1> */

0xffa00410 <kgdb_l1_test+92>:   P2.L = 0x0;             /* (  0)        P2=0x0xff800000 <num1> */

Get reg_addr_after1.

0xffa00414 <kgdb_l1_test+96>:   R2 = [P2];

0xffa00416 <kgdb_l1_test+98>:   R0.H = 0x10;            /* ( 16)        R0=0x0x10d948(1104200) */

0xffa0041a <kgdb_l1_test+102>:  R0.L = 0xd96c;          /* (-9876)      R0=0x0x10d96c(1104236) */

0xffa0041e <kgdb_l1_test+106>:  R1.H = 0xff80;          /* (-128)       R1=0x0xff8003b4(-8387660) */

0xffa00422 <kgdb_l1_test+110>:  R1.L = 0x0;             /* (  0)        R1=0x0xff800000 <num1>(-8388608) */

0xffa00426 <kgdb_l1_test+114>:  P2.H = 0x1;             /* (  1)        P2=0x0x10000 <copy_process+1340> */

0xffa0042a <kgdb_l1_test+118>:  P2.L = 0x1750;          /* (5968)       P2=0x0x11750 <printk> */

0xffa0042e <kgdb_l1_test+122>:  CALL (P2);

0xffa00430 <kgdb_l1_test+124>:  UNLINK;

0xffa00434 <kgdb_l1_test+128>:  RTS;

End of assembler dump.

(gdb) Find reg_addr_after1 .

 

Case 23 ...PASS

 

Case 23 ...PASS

si

0xffa00410      33              printk(KERN_ALERT "L1(after change) : data variable addr = 0x%p, data value is %d\n", &num1, num1);

(gdb) info reg

r0             0x14     20

r1             0xffff   65535

r2             0xffffffff       -1

r3             0xffffff68       -152

r4             0x37c6000        58482688

r5             0x0      0

r6             0x7fffffff       2147483647

r7             0x0      0

p0             0x1259   0x1259

p1             0x176df4 0x176df4

p2             0xff800000       0xff800000

p3             0x31e1e8c        0x31e1e8c

p4             0xc00    0xc00

p5             0x1000   0x1000

sp             0x37d7dfc        0x37d7dfc

fp             0x37d7e0c        0x37d7e0c

i0             0x8      8

i1             0xf      15

i2             0x0      0

i3             0x1150c0 1134784

m0             0x1      1

m1             0x0      0

m2             0x0      0

m3             0x0      0

b0             0x1b     27

b1             0x0      0

b2             0x0      0

b3             0x0      0

l0             0x0      0

l1             0x0      0

l2             0x0      0

l3             0x0      0

a0x            0x0      0

a0w            0x0      0

a1x            0x0      0

a1w            0x0      0

astat          0x2002000        33562624

rets           0xffa003f6       0xffa003f6 <kgdb_l1_test+66>

lc0            0x7      7

lt0            0x318c2fe        51954430

lb0            0x318c307        51954439

lc1            0x0      0

lt1            0x8dbdc  580572

lb1            0x8dbec  580588

cycles         0x0      0

cycles2        0x0      0

usp            0x31e1e48        0x31e1e48

seqstat        0x62010  401424

syscfg         0x6      6

reti           0xffa00410       -6290416

retx           0x480    1152

retn           0x37d7e00        58555904

rete           0x0      0

---Type <return> to continue, or q <return> to quit---

pc             0xffa00410       0xffa00410 <kgdb_l1_test+92>

cc             0x0      0

text_addr      0x0      0

text_end_addr  0x0      0

data_addr      0x0      0

fdpic_exec     0x0      0

fdpic_interp   0x0      0

ipend          0x8030   32816

(gdb)

Case 25 ...PASS

 

Case 25 ...PASS

 

SI case pass!

print len

$4 = 0

 

Case 26 ...PASS

 

Case 26 ...PASS

(gdb) c

Continuing.

 

Double Fault

Kernel OOPS in progress

Deferred Exception context

CURRENT PROCESS:

COMM=cat PID=154

CPU = 0

TEXT = 0x03180040-0x031c6980        DATA = 0x031c69a0-0x031d86d0

BSS = 0x031d86d0-0x031d9ff0  USER-STACK = 0x031e2f78

 

return address: [0x00009d7a]; contents of:

0x00009d50:  6501  5281  4e2a  320a  3200  e0b2  1003  0278

0x00009d60:  0000  0010  6302  5410  67f9  5451  6501  5281

0x00009d70:  4e2a  320a  3200  e0b2  1002 [0268] 0010  0000

0x00009d80:  6302  5410  67f9  5451  6501  5281  4e2a  320a

 

ADSP-BF533-0.3 398(MHz CCLK) 79(MHz SCLK) (mpu off)

Linux version 2.6.28.10-ADI-2009R1-svn6753

Built with gcc version 4.1.2 (ADI svn)

 

SEQUENCER STATUS:               Not tainted

SEQSTAT: 00062027  IPEND: ffe02108  SYSCFG: 0006

  EXCAUSE   : 0x27

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

  physical IVG8 asserted : <0xffa00e7c> { _evt_evt8 + 0x0 }

  physical IVG13 asserted : <0xffa00f58> { _evt_evt13 + 0x0 }

  logical irq   6 mapped  : <0xffa003a0> { _timer_interrupt + 0x0 }

  logical irq  14 mapped  : <0x000b2b88> { _bfin_rtc_interrupt + 0x0 }

  logical irq  21 mapped  : <0x0009e890> { _bfin_serial_dma_rx_int + 0x0 }

  logical irq  22 mapped  : <0x0009ebf0> { _bfin_serial_dma_tx_int + 0x0 }

  logical irq  40 mapped  : <0x000a7e58> { _smc_interrupt + 0x0 }

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

RETN: <0x037d7bb4> /* kernel dynamic memory */

RETX: <0x00009d7a> { _blackfin_dcache_invalidate_range + 0x16 }

RETS: <0x0002df58> { _kgdb_flush_swbreak_addr + 0x18 }

PC  : <0x00009d7a> { _blackfin_dcache_invalidate_range + 0x16 }

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

ICPLB_FAULT_ADDR: <0x00009d7a> { _blackfin_dcache_invalidate_range + 0x16 }

 

PROCESSOR STATE:

R0 : ffa00400    R1 : 00000021    R2 : 0002ffe1    R3 : fffffffe

R4 : 00000003    R5 : 0000100d    R6 : 001688ac    R7 : 00000001

P0 : 00000000    P1 : 0002ffe1    P2 : ffc00e08    P3 : 0016c754

P4 : 00008cc8    P5 : 001688b4    FP : 037d7bc0    SP : 037d7ad8

LB0: ffa01784    LT0: ffa01784    LC0: 00000000

LB1: 00009d7a    LT1: 00009d7a    LC1: 00000001

B0 : 0000001b    L0 : 00000000    M0 : 00000001    I0 : 00000008

B1 : 00000000    L1 : 00000000    M1 : 00000000    I1 : 001724c0

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

B3 : 00000000    L3 : 00000000    M3 : 00000000    I3 : 001150c0

A0.w: 00000500   A0.x: 00000000   A1.w: 00000500   A1.x: 00000000

USP : 031e1e48  ASTAT: 02002020

 

Hardware Trace:

Kernel panic - not syncing: Double Fault - unrecoverable event

 

 

Last pass : kernel  6699,    uclinux  8285, toolchain 09r1-6

fail : kernel  6753,    uclinux  8295, toolchain 09r1-7

 

        

 

Follow-ups

 

--- Sonic Zhang                                              2009-06-30 04:51:41

Fixed.

L1 instruction SRAM is not cachable. Executing Flush, flushinv or iflush at

this address region on bf533 v0.3 triggers double fault exception. Although no

double fault on other bfin chips, it is safe not to do it.

 

--- Robin Getz                                               2009-06-30 13:55:49

Sonic:

 

Either this is a hardware anomaly - or something else is going on. Since it is

not on the anomaly list - we need to assume (until someone in design verifies it

needs to be added) it is something else).

 

You should be able to execute these instructions (Flush, flushinv. iflush or

prefetch) on any memory location - if it is specific to 0.3 silicon, that should

be ifdef'ed so people understand what the cause is.

 

I see something wrong with prefetch - but not anything else when I added them

to traps_test.

 

3       0x00    flush l1_instruction

13      0x00    iflush l1_instruction

27      0x00    flushinv l1_instruction

 

All seem to work with out causing a EVT3 event from userspace... - so I think

this is something else....

 

-Robin

 

--- Sonic Zhang                                              2009-06-30 22:58:18

Are you running the trap_test with WT cache is selected on bf533 v0.3?

 

 

--- Sonic Zhang                                              2009-06-30 23:01:18

In addition, did you run trap_test on 2009R1 branch?

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes