FMC tool crash on t2080rdb board

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

FMC tool crash on t2080rdb board

Jump to solution
1,206 Views
ronakadesai
Contributor II

We are using FMC tool to configure FMAN on t2080rdb from a 64-bit Linux guest running on 64-bit Topaz hypervisor v1.3.010.

We are compiling fmc/fmlib packages in 64-bit mode as our entire filesystem is in 64-bit mode after downloading from freescale ppc sdk gits for fmc and fmlib.

While configuring fman using fmc we end up with following crash. Kernel is from freescale Linux SDK 1.8 tried 1.9 as well but no improvement. Now, strange thing is when we use fmlib/fmc compiled in 32-bit mode then it works fine. Can someone help to understand why we are not able to use fmc/fmlib in 64-bit compiled versions ?

# fmc -c hv2p_c.xml -p hv2p_p.xml -s hv2p_s.xml -a

cpu0/0: ! MAJOR FM-PCD Error [CPU00, drivers/net/ethernet/freescale/fman/Peripherals/FM/Pcd/fm_kg.c:1061 BuildSchemeRegs]: Invalid State;

cpu0/0: Next Engine of the scheme is not Validcpu0/0:

cpu0/0: ! MAJOR FM-PCD Error [CPU00, drivers/net/ethernet/freescale/fman/Peripherals/FM/Pcd/fm_kg.c:3020 FM_PCD_KgSchemeSet]: Invalid State;

cpu0/0: cpu0/0:

cpu0/0: ! MINOR FM Error [CPU00, drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm.c:3429 LnxwrpFmPcdIOCTL]: Invalid Value;

cpu0/0: IOCTL FM PCDcpu0/0:

ERR : Invocation of FM_PCD_KgSchemeSet for fm0/port/MAC/4/dist/garbage_dist/direct failed

cpu0/0: *** ASSERT_COND failed [CPU00, drivers/net/ethernet/freescale/fman/Peripherals/FM/Pcd/fm_pcd.c:769 FmPcdGetHcHandle]

FMD: fatal error, driver can't go on!!!

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

WARNING: at drivers/net/ethernet/freescale/fman/src/xx/xx_linux.c:156

Modules linked in:

CPU: 0 PID: 1111 Comm: fmc Not tainted 3.12.37-rt51 #1

task: c000000037823540 ti: c000000037e8c000 task.ti: c000000037e8c000

NIP: c00000000049d440 LR: c00000000049d43c CTR: c0000000002dcea8

REGS: c000000037e8f530 TRAP: 0700 Not tainted (3.12.37-rt51)

MSR: 0000000090029000 <CE,EE,ME> CR: 24000424 XER: 20000000

SOFTE: 1

GPR00: c00000000049d43c c000000037e8f7b0 c000000000b5c868 000000000000002a

GPR04: 0000000000000000 c000000037e8f4b0 0000000000000197 0000000000000000

GPR08: 0000000000000001 0000000000000000 0000000000000000 0000000000010001

GPR12: 0000000024000422 c00000000fff4000 00003ffffbf52740 00003ffffbf526d8

GPR16: 00000000101738d8 0000000010174a88 00000000101749d0 0000000010174910

GPR20: 0000000010174850 0000000015142138 00000000150df6d0 0000000000000000

GPR24: 0000000010173750 0000000010174520 0000000010174498 c0000000375b4ac0

GPR28: 000000002000e15b 00003fff80d6fbe0 c000000037c39000 0000000000000000

NIP [c00000000049d440] .XX_Exit+0x1c/0x30

LR [c00000000049d43c] .XX_Exit+0x18/0x30

Call Trace:

[c000000037e8f7b0] [c00000000049d43c] .XX_Exit+0x18/0x30 (unreliable)

[c000000037e8f820] [c00000000040952c] .FmPcdGetHcHandle+0x68/0x84

[c000000037e8f8a0] [c000000000429fa0] .DetachPCD+0x7c/0x228

[c000000037e8f930] [c00000000043add0] .FM_PORT_DeletePCD+0x318/0x5dc

[c000000037e8f9c0] [c000000000471fbc] .LnxwrpFmPortIOCTL+0xec8/0x2640

[c000000037e8fb70] [c00000000047377c] .fm_ioctls+0x48/0x130

[c000000037e8fc00] [c000000000473944] .fm_ioctl+0x58/0x88

[c000000037e8fca0] [c00000000012a86c] .do_vfs_ioctl+0x3fc/0x6e8

[c000000037e8fd80] [c00000000012abb0] .SyS_ioctl+0x58/0xa4

[c000000037e8fe30] [c000000000000598] system_call+0x38/0xc4

Instruction dump:

60000000 38210070 e8010010 7c0803a6 4e800020 7c0802a6 3c62ffe1 38635fb8

f8010010 f821ff91 482b0451 60000000 <0fe00000> 38210070 e8010010 7c0803a6

---[ end trace 61ad58accce1b9b2 ]---

Unable to handle kernel paging request for data at address 0x00006948

Faulting instruction address: 0xc000000000409534

Oops: Kernel access of bad area, sig: 11 [#1]

SMP NR_CPUS=24 CoreNet Generic

Modules linked in:

CPU: 0 PID: 1111 Comm: fmc Tainted: G W 3.12.37-rt51 #1

task: c000000037823540 ti: c000000037e8c000 task.ti: c000000037e8c000

NIP: c000000000409534 LR: c00000000040952c CTR: c0000000002dcea8

REGS: c000000037e8f620 TRAP: 0300 Tainted: G W (3.12.37-rt51)

MSR: 0000000090029000 <CE,EE,ME> CR: 24000424 XER: 20000000

SOFTE: 1

DEAR: 0000000000006948, ESR: 0000000000000000

GPR00: c00000000040952c c000000037e8f8a0 c000000000b5c868 000000000000002a

GPR04: 0000000000000000 c000000037e8f4b0 0000000000000197 0000000000000000

GPR08: 0000000000000001 0000000000000000 0000000000000000 0000000000010001

GPR12: 0000000024000422 c00000000fff4000 00003ffffbf52740 00003ffffbf526d8

GPR16: 00000000101738d8 0000000010174a88 00000000101749d0 0000000010174910

GPR20: 0000000010174850 0000000015142138 00000000150df6d0 0000000000000000

GPR24: 0000000010173750 0000000010174520 0000000010174498 c0000000375b4ac0

GPR28: 000000002000e15b 00003fff80d6fbe0 c000000037c39000 0000000000000000

NIP [c000000000409534] .FmPcdGetHcHandle+0x70/0x84

LR [c00000000040952c] .FmPcdGetHcHandle+0x68/0x84

Call Trace:

[c000000037e8f8a0] [c000000000429fa0] .DetachPCD+0x7c/0x228 (unreliable)

[c000000037e8f930] [c00000000043add0] .FM_PORT_DeletePCD+0x318/0x5dc

[c000000037e8f9c0] [c000000000471fbc] .LnxwrpFmPortIOCTL+0xec8/0x2640

[c000000037e8fb70] [c00000000047377c] .fm_ioctls+0x48/0x130

[c000000037e8fc00] [c000000000473944] .fm_ioctl+0x58/0x88

[c000000037e8fca0] [c00000000012a86c] .do_vfs_ioctl+0x3fc/0x6e8

[c000000037e8fd80] [c00000000012abb0] .SyS_ioctl+0x58/0xa4

[c000000037e8fe30] [c000000000000598] system_call+0x38/0xc4

Instruction dump:

3ce2ffc3 3c62ffe1 38638700 38a5ca90 38c00301 38e74ef8 48093f39 60000000

38600001 48093efd 60000000 38210080 <e87f6948> e8010010 ebe1fff8 7c0803a6

---[ end trace 61ad58accce1b9b3 ]---

Segmentation fault

#

Labels (1)
0 Kudos
1 Solution
867 Views
ronakadesai
Contributor II

This problem was occurring due to the compilation flag issue.

In the FMC package Makefile there are conditions to determine the PLATFORM_FLAG which is used  added in the CFLAGS.

Now, for t208x builds I found from the yocto SDK that it passes MACHINE type as b4860qds which configures PLATFORM_FLAG = -DFMAN_V3H.

So, if you don't use the CFLAG in your compilation of fmc package you will end up with  this crash even with successful compilation of FMC utility.

View solution in original post

0 Kudos
1 Reply
868 Views
ronakadesai
Contributor II

This problem was occurring due to the compilation flag issue.

In the FMC package Makefile there are conditions to determine the PLATFORM_FLAG which is used  added in the CFLAGS.

Now, for t208x builds I found from the yocto SDK that it passes MACHINE type as b4860qds which configures PLATFORM_FLAG = -DFMAN_V3H.

So, if you don't use the CFLAG in your compilation of fmc package you will end up with  this crash even with successful compilation of FMC utility.

0 Kudos