This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Kernel symbol 'v7_dma_map_area' not found while running 335x-demo

Other Parts Discussed in Thread: AM3358

I'm now working on AM3358 platform to enable opengl support. After Graphics_SDK_5_01_01_02 installed on target board, I ran ./335x-demo, but it failed.  the kernel version is 3.12.10:

VERSION = 3
PATCHLEVEL = 12
SUBLEVEL = 10
EXTRAVERSION =
NAME = One Giant Leap for Frogkind

detailed bug information:

root@lszl:/opt/gfxsdkdemos# ./335x-demo
0x10205
release8.x
installing 8.x SGX release user libraries

Installing PowerVR Consumer/Embedded DDK 'sgxddk_1.10@2359475' on target

File system installation root is /

Uninstalling existing version sgxddk_1.10@2359475
Uninstallation completed.
boot script rc.pvr -> /etc/init.d/rc.pvr
kernel module pvrsrvkm.ko -> /lib/modules/3.12.10-rt15-Emfuture-ti2013.12.01/extra/pvrsrvkm.ko
kernel module omaplfb.ko -> /lib/modules/3.12.10-rt15-Emfuture-ti2013.12.01/extra/omaplfb.ko
shared library libGLES_CM.so -> /usr/lib/libGLES_CM.so.1.10.2359475
shared library libusc.so -> /usr/lib/libusc.so.1.10.2359475
shared library libGLESv2.so -> /usr/lib/libGLESv2.so.1.10.2359475
shared library libglslcompiler.so -> /usr/lib/libglslcompiler.so.1.10.2359475
shared library libIMGegl.so -> /usr/lib/libIMGegl.so.1.10.2359475
shared library libEGL.so -> /usr/lib/libEGL.so.1.10.2359475
shared library libpvr2d.so -> /usr/lib/libpvr2d.so.1.10.2359475
shared library libpvrPVR2D_BLITWSEGL.so -> /usr/lib/libpvrPVR2D_BLITWSEGL.so.1.10.2359475
shared library libpvrPVR2D_FLIPWSEGL.so -> /usr/lib/libpvrPVR2D_FLIPWSEGL.so.1.10.2359475
shared library libpvrPVR2D_FRONTWSEGL.so -> /usr/lib/libpvrPVR2D_FRONTWSEGL.so.1.10.2359475
shared library libpvrPVR2D_LINUXFBWSEGL.so -> /usr/lib/libpvrPVR2D_LINUXFBWSEGL.so.1.10.2359475
shared library libsrv_um.so -> /usr/lib/libsrv_um.so.1.10.2359475
shared library libsrv_init.so -> /usr/lib/libsrv_init.so.1.10.2359475
shared library libPVRScopeServices.so -> /usr/lib/libPVRScopeServices.so.1.10.2359475
binary pvrsrvctl -> /usr/local/bin/pvrsrvctl
binary sgx_init_test -> /usr/local/bin/sgx_init_test
binary services_test -> /usr/local/bin/services_test
binary sgx_blit_test -> /usr/local/bin/sgx_blit_test
binary sgx_clipblit_test -> /usr/local/bin/sgx_clipblit_test
binary sgx_flip_test -> /usr/local/bin/sgx_flip_test
binary sgx_render_flip_test -> /usr/local/bin/sgx_render_flip_test
binary pvr2d_test -> /usr/local/bin/pvr2d_test
shader glsltest1_vertshader.txt -> /usr/local/bin/glsltest1_vertshader.txt
shader glsltest1_fragshaderA.txt -> /usr/local/bin/glsltest1_fragshaderA.txt
shader glsltest1_fragshaderB.txt -> /usr/local/bin/glsltest1_fragshaderB.txt

Installation complete!
You may now reboot your target.

Module pvrsrvkm failed to load. Retrying.
root@lszl:/opt/gfxsdkdemos# cat /proc/version
Linux version 3.12.10-rt15-Emfuture-ti2013.12.01 (zhanglin@localhost.localdomain) (gcc version 4.7.3 20130226 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2013.03-20130313 - Linaro GCC 2013.03) ) #120 PREEMPT Wed Sep 16 14:37:03 CST 2015
root@lszl:/opt/gfxsdkdemos# cd ../gfxlibraries/
root@lszl:/opt/gfxlibraries# ls
gfx_rel_es8.x
root@lszl:/opt/gfxlibraries# cd gfx_rel_es8.x/
root@lszl:/opt/gfxlibraries/gfx_rel_es8.x# insmod pvr
pvr2d_test   pvr_drv.dbg  pvr_drv.so   pvrsrvctl    pvrsrvkm.ko
root@lszl:/opt/gfxlibraries/gfx_rel_es8.x# insmod pvrsrvkm.ko
pvrsrvkm: Unknown symbol v7_dma_map_area (err 0)
pvrsrvkm: Unknown symbol v7_dma_flush_range (err 0)
insmod: can't insert 'pvrsrvkm.ko': unknown symbol in module, or unknown parameter
root@lszl:/opt/gfxlibraries/gfx_rel_es8.x# insmod omaplfb.ko
omaplfb: Unknown symbol PVRGetDisplayClassJTable (err 0)
insmod: can't insert 'omaplfb.ko': unknown symbol in module, or unknown parameter
root@lszl:/opt/gfxlibraries/gfx_rel_es8.x# insmod bufferclass_ti.ko
bufferclass_ti: Unknown symbol PVRGetBufferClassJTable (err 0)
insmod: can't insert 'bufferclass_ti.ko': unknown symbol in module, or unknown parameter
root@lszl:/opt/gfxlibraries/gfx_rel_es8.x#

 

  • thanks, but I don't want to upgrade kernel, which version of Graphics_SDK may work well with this kernel?
  • I have upgraded the kernel to 3.14.26 and upgraded the Graphics_SDK synchronously, but new problems came.
    First it prompted me that pvrsrvkm failed to load:
    root@am335x-evm:/opt/gfxsdkdemos# ./335x-demo 0x10205release8.x
    installing 8.x SGX release user libraries
    Installing PowerVR Consumer/Embedded DDK 'sgxddk_1.10@2359475' on target
    File system installation root is /Nothing to un-install.
    boot script rc.pvr -> /etc/init.d/rc.pvr
    kernel module pvrsrvkm.ko -> /lib/modules/3.14.26/extra/pvrsrvkm.ko
    kernel module omaplfb.ko -> /lib/modules/3.14.26/extra/omaplfb.ko
    shared library libGLES_CM.so -> /usr/lib/libGLES_CM.so.1.10.2359475
    shared library libusc.so -> /usr/lib/libusc.so.1.10.2359475
    shared library libGLESv2.so -> /usr/lib/libGLESv2.so.1.10.2359475
    shared library libglslcompiler.so -> /usr/lib/libglslcompiler.so.1.10.2359475
    shared library libIMGegl.so -> /usr/lib/libIMGegl.so.1.10.2359475
    shared library libEGL.so -> /usr/lib/libEGL.so.1.10.2359475
    shared library libpvr2d.so -> /usr/lib/libpvr2d.so.1.10.2359475
    shared library libpvrPVR2D_BLITWSEGL.so -> /usr/lib/libpvrPVR2D_BLITWSEGL.so.1.10.2359475
    shared library libpvrPVR2D_FLIPWSEGL.so -> /usr/lib/libpvrPVR2D_FLIPWSEGL.so.1.10.2359475
    shared library libpvrPVR2D_FRONTWSEGL.so -> /usr/lib/libpvrPVR2D_FRONTWSEGL.so.1.10.2359475
    shared library libpvrPVR2D_LINUXFBWSEGL.so -> /usr/lib/libpvrPVR2D_LINUXFBWSEGL.so.1.10.2359475
    shared library libsrv_um.so -> /usr/lib/libsrv_um.so.1.10.2359475
    shared library libsrv_init.so -> /usr/lib/libsrv_init.so.1.10.2359475
    shared library libPVRScopeServices.so -> /usr/lib/libPVRScopeServices.so.1.10.2359475
    binary pvrsrvctl -> /usr/local/bin/pvrsrvctl
    binary sgx_init_test -> /usr/local/bin/sgx_init_test
    binary services_test -> /usr/local/bin/services_test
    binary sgx_blit_test -> /usr/local/bin/sgx_blit_test
    binary sgx_clipblit_test -> /usr/local/bin/sgx_clipblit_test
    binary sgx_flip_test -> /usr/local/bin/sgx_flip_test
    binary sgx_render_flip_test -> /usr/local/bin/sgx_render_flip_test
    binary pvr2d_test -> /usr/local/bin/pvr2d_test
    shader glsltest1_vertshader.txt -> /usr/local/bin/glsltest1_vertshader.txt
    shader glsltest1_fragshaderA.txt -> /usr/local/bin/glsltest1_fragshaderA.txt
    shader glsltest1_fragshaderB.txt -> /usr/local/bin/glsltest1_fragshaderB.txt
    Installation complete!You may now reboot your target.
    Module pvrsrvkm failed to load. Retrying.Running /sbin/depmod
    And then after rebooting the board, kernel oops occur:Starting PVR
    modprobe: FATAL: Module bufferclass_ti not found.
    [ 88.348559] Unhandled fault: external abort on non-linefetch (0x1018) at 0xb6fc1014
    [ 89.653170] Unhandled fault: external abort on non-linefetch (0x1028) at 0xe2000ca8
    [ 89.661188] Internal error: : 1028 [#1] ARM
    [ 89.665551] Modules linked in: omaplfb(O) pvrsrvkm(O) btwilink musb_dsps bluetooth musb_hdrc ti_am335x_adc lis3lv02d_i2c kfifo_buf lis3lv02d industrialio input_polldev lm75 snd_soc_tlv320aic3x tsl2550 musb_am335x snd_soc_davinci_mcasp snd_soc_evm matrix_keypad 6lowpan_iphc
    [ 89.690864] CPU: 0 PID: 1612 Comm: pvrsrvctl Tainted: G O 3.14.26 #7
    [ 89.698399] task: dd614000 ti: da284000 task.ti: da284000
    [ 89.704172] PC is at PollForValueKM+0x54/0xcc [pvrsrvkm]
    [ 89.709750] LR is at PollForValueKM+0x40/0xcc [pvrsrvkm]
    [ 89.715289] pc : [<bf0e635c>] lr : [<bf0e6348>] psr: 80000013
    [ 89.715289] sp : da285bf8 ip : da285bf8 fp : da285c2c
    [ 89.727259] r10: 00000000 r9 : 000f4240 r8 : e2000ca8
    [ 89.732703] r7 : 00000000 r6 : 00000000 r5 : 00000001 r4 : f3762940
    [ 89.739507] r3 : 00000001 r2 : 0c89d6c0 r1 : 000003e8 r0 : 00000000
    [ 89.746315] Flags: Nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
    [ 89.753753] Control: 10c5387d Table: 9c428019 DAC: 00000015
    [ 89.759743] Process pvrsrvctl (pid: 1612, stack limit = 0xda284238)
    [ 89.766275] Stack: (0xda285bf8 to 0xda286000)
    [ 89.770818] 5be0: f3762941 000000ff
    [ 89.779348] 5c00: da285c1c dd4da000 00000001 e169b120 00000000 00000006 da284000 dd15c268
    [ 89.787879] 5c20: da285c4c da285c30 bf0f5458 bf0e6314 00000032 00000000 bf0f53f0 dd4da000
    [ 89.796410] 5c40: da285c6c da285c50 bf0f5514 bf0f5400 bf0fe43c dd4da000 00000000 e169b120
    [ 89.804940] 5c60: da285c94 da285c70 bf0f1fe4 bf0f5494 00000000 bf100654 00000000 dd4da000
    [ 89.813470] 5c80: da569340 da285da8 da285ce4 da285c98 bf0f591c bf0f1f8c da285cd4 da285ca8
    [ 89.822001] 5ca0: c011fa5c c0267584 da1eeb80 c011f908 da1eeb80 00000000 dd005b80 60000013
    [ 89.830531] 5cc0: 00000035 dd005bb4 da285cf4 da01ff40 00000000 00000000 da285d04 da285ce8
    [ 89.839063] 5ce0: bf0e0ae0 bf0f58d0 da01ff40 da285d30 bf0e0a64 00000000 da285d28 da285d08
    [ 89.847593] 5d00: bf0e9374 bf0e0a70 bf0fa7d8 da285d30 00000000 00000000 bf100614 da285d5c
    [ 89.856123] 5d20: da285d38 bf0e0d60 bf0e9348 bf0e0a64 00000000 00000000 00000000 da569340
    [ 89.864654] 5d40: da285da8 00000000 ffffffff da569340 da285d94 da285d60 bf0f2dc0 bf0e0d14
    [ 89.873185] 5d60: 00000000 00000000 00000000 00000000 00000000 e169b180 da39b380 da569340
    [ 89.881717] 5d80: 00000000 e1632000 da285df4 da285d98 bf0f12e4 bf0f2d5c 00000000 00000000
    [ 89.890249] 5da0: 00000000 bf100614 da01ff40 da285df0 bf0e0a64 0f003180 da285de8 da285dc8
    [ 89.898780] 5dc0: bf0e9374 bf0e0a70 bf0fa7d8 dd4da000 00000000 e1632000 da39b380 e1632000
    [ 89.907311] 5de0: da284000 dd15c268 da285e14 da285df8 bf0f13e8 bf0f1270 bf0e6198 00000000
    [ 89.915842] 5e00: e1632000 e1631000 da285e24 da285e18 bf0e618c bf0f1368 da285e34 da285e28
    [ 89.924372] 5e20: bf0e61a8 bf0e617c da285e4c da285e38 bf0e9124 bf0e61a4 bf10069c e1631000
    [ 89.932902] 5e40: da285e64 da285e50 bf0e6160 bf0e9108 bf0fe584 00000000 da285e84 da285e68
    [ 89.941432] 5e60: bf0f7a40 bf0e6124 dd5e9b40 da285ebc dd5e9b40 00000045 da285eac da285e88
    [ 89.949963] 5e80: bf0f8c40 bf0f79fc 00000000 0000064c c01c6745 da264200 be9d9a54 be9d9a54
    [ 89.958492] 5ea0: da285ef4 da285eb0 bf0f0b68 bf0f8b50 c00b5594 dd5e9b40 dc5f1540 00000045
    [ 89.967022] 5ec0: 0000001c be9d9a80 00000008 be9d9a88 00000008 00000001 bf0ebe90 da264200
    [ 89.975552] 5ee0: 00000003 00000000 da285f7c da285ef8 c00daa48 bf0f0a7c c084f9d8 dc5c99a0
    [ 89.984083] 5f00: 00000000 00000000 da285f2c da285f18 c00b561c c00c61d4 dc5f1540 dc5c99a0
    [ 89.992615] 5f20: da285f6c da285f30 c00b7164 00000013 b6f6c000 dc5f1574 00000000 00001000
    [ 90.001146] 5f40: b6f6b000 c000e964 da284000 00000000 da285f6c da264200 da264200 00000000
    [ 90.009679] 5f60: be9d9a54 c01c6745 da284000 00000003 da285fa4 da285f80 c00daf90 c00da9d4
    [ 90.018210] 5f80: 00012008 00000014 00000001 00000036 c000e964 00000000 00000000 da285fa8
    [ 90.026741] 5fa0: c000e7e0 c00daf30 00012008 00000014 00000003 c01c6745 be9d9a54 00000008
    [ 90.035272] 5fc0: 00012008 00000014 00000001 00000036 00000000 00000000 46f17000 00000000
    [ 90.043801] 5fe0: b6fc6064 be9d9a4c b6fa0034 4706b5ac 20000010 00000003 00000102 00000c28
    [ 90.052325] Backtrace:
    [ 90.054992] [<bf0e6308>] (PollForValueKM [pvrsrvkm]) from [<bf0f5458>] (SGXResetInvalDC.isra.4+0x64/0x70 [pvrsrvkm])
    [ 90.065963] r10:dd15c268 r9:da284000 r8:00000006 r7:00000000 r6:e169b120 r5:00000001
    [ 90.074148] r4:dd4da000
    [ 90.076906] [<bf0f53f4>] (SGXResetInvalDC.isra.4 [pvrsrvkm]) from [<bf0f5514>] (SGXReset+0x8c/0x1ac [pvrsrvkm])
    [ 90.087422] r4:dd4da000
    [ 90.090176] [<bf0f5488>] (SGXReset [pvrsrvkm]) from [<bf0f1fe4>] (SGXInitialise+0x64/0x150 [pvrsrvkm])
    [ 90.099877] r6:e169b120 r5:00000000 r4:dd4da000 r3:bf0fe43c
    [ 90.105907] [<bf0f1f80>] (SGXInitialise [pvrsrvkm]) from [<bf0f591c>] (SGXPostPowerState+0x58/0xb0 [pvrsrvkm])
    [ 90.116335] r7:da285da8 r6:da569340 r5:dd4da000 r4:00000000
    [ 90.122337] [<bf0f58c4>] (SGXPostPowerState [pvrsrvkm]) from [<bf0e0ae0>] (PVRSRVDevicePostPowerStateKM_AnyVaCb+0x7c/0x90 [pvrsrvkm])
    [ 90.134846] r6:00000000 r5:00000000 r4:da01ff40
    [ 90.139742] [<bf0e0a64>] (PVRSRVDevicePostPowerStateKM_AnyVaCb [pvrsrvkm]) from [<bf0e9374>] (List_PVRSRV_POWER_DEV_PVRSRV_ERROR_Any_va+0x3c/0x60 [pvrsrvkm])
    [ 90.154425] r6:00000000 r5:bf0e0a64 r4:da285d30 r3:da01ff40
    [ 90.160415] [<bf0e933c>] (List_PVRSRV_POWER_DEV_PVRSRV_ERROR_Any_va [pvrsrvkm]) from [<bf0e0d60>] (PVRSRVSetDevicePowerStateKM+0x58/0x74 [pvrsrvkm])
    [ 90.174282] r3:00000000 r2:00000000 r1:bf0e0a64
    [ 90.179104] r6:bf100614 r5:00000000 r4:00000000
    [ 90.184015] [<bf0e0d08>] (PVRSRVSetDevicePowerStateKM [pvrsrvkm]) from [<bf0f2dc0>] (SGXScheduleCCBCommandKM+0x70/0xc4 [pvrsrvkm])
    [ 90.196254] r6:da569340 r5:ffffffff r4:00000000
    [ 90.201189] [<bf0f2d50>] (SGXScheduleCCBCommandKM [pvrsrvkm]) from [<bf0f12e4>] (SGXGetMiscInfoUkernel+0x80/0xf8 [pvrsrvkm])
    [ 90.212884] r8:e1632000 r7:00000000 r6:da569340 r5:da39b380 r4:e169b180
    [ 90.220000] [<bf0f1264>] (SGXGetMiscInfoUkernel [pvrsrvkm]) from [<bf0f13e8>] (SGXDevInitCompatCheck+0x8c/0x2b4 [pvrsrvkm])
    [ 90.231604] r10:dd15c268 r9:da284000 r8:e1632000 r7:da39b380 r6:e1632000 r5:00000000
    [ 90.239789] r4:dd4da000
    [ 90.242523] [<bf0f135c>] (SGXDevInitCompatCheck [pvrsrvkm]) from [<bf0e618c>] (PVRSRVDevInitCompatCheck+0x1c/0x28 [pvrsrvkm])
    [ 90.254307] r7:e1631000 r6:e1632000 r5:00000000 r4:bf0e6198
    [ 90.260300] [<bf0e6170>] (PVRSRVDevInitCompatCheck [pvrsrvkm]) from [<bf0e61a8>] (PVRSRVFinaliseSystem_CompatCheck_AnyCb+0x10/0x14 [pvrsrvkm])
    [ 90.273706] [<bf0e6198>] (PVRSRVFinaliseSystem_CompatCheck_AnyCb [pvrsrvkm]) from [<bf0e9124>] (List_PVRSRV_DEVICE_NODE_PVRSRV_ERROR_Any+0x28/0x48 [pvrsrvkm])
    [ 90.288561] [<bf0e90fc>] (List_PVRSRV_DEVICE_NODE_PVRSRV_ERROR_Any [pvrsrvkm]) from [<bf0e6160>] (PVRSRVFinaliseSystem+0x48/0x58 [pvrsrvkm])
    [ 90.301704] r5:e1631000 r4:bf10069c
    [ 90.305538] [<bf0e6118>] (PVRSRVFinaliseSystem [pvrsrvkm]) from [<bf0f7a40>] (PVRSRVInitSrvDisconnectBW+0x50/0x80 [pvrsrvkm])
    [ 90.317322] r4:00000000 r3:bf0fe584
    [ 90.321178] [<bf0f79f0>] (PVRSRVInitSrvDisconnectBW [pvrsrvkm]) from [<bf0f8c40>] (BridgedDispatchKM+0xfc/0x154 [pvrsrvkm])
    [ 90.332781] r6:00000045 r5:dd5e9b40 r4:da285ebc r3:dd5e9b40
    [ 90.338813] [<bf0f8b44>] (BridgedDispatchKM [pvrsrvkm]) from [<bf0f0b68>] (PVRSRV_BridgeDispatchKM+0xf8/0x200 [pvrsrvkm])
    [ 90.350235] r8:be9d9a54 r7:be9d9a54 r6:da264200 r5:c01c6745 r4:0000064c r3:00000000
    [ 90.358407] [<bf0f0a70>] (PVRSRV_BridgeDispatchKM [pvrsrvkm]) from [<c00daa48>] (do_vfs_ioctl+0x80/0x55c)
    [ 90.368382] r6:00000000 r5:00000003 r4:da264200
    [ 90.373216] [<c00da9c8>] (do_vfs_ioctl) from [<c00daf90>] (SyS_ioctl+0x6c/0x7c)
    [ 90.380835] r10:00000003 r9:da284000 r8:c01c6745 r7:be9d9a54 r6:00000000 r5:da264200
    [ 90.389022] r4:da264200
    [ 90.391679] [<c00daf24>] (SyS_ioctl) from [<c000e7e0>] (ret_fast_syscall+0x0/0x30)
    [ 90.399570] r10:00000000 r8:c000e964 r7:00000036 r6:00000001 r5:00000014 r4:00012008
    [ 90.407762] Code: e1a07000 e51b3034 ea000012 e1a05003 (e5983000)
    [ 90.414121] ---[ end trace 3b3096468d7aab01 ]---
  • Hi,

    Can you check the output of lsmod before executing the demo? You should have the bufferclass_ti, omaplfb & pvrsrvkm drivers working in your kernel.

    Also the unhalted fault errors:
    [ 88.348559] Unhandled fault: external abort on non-linefetch (0x1018) at 0xb6fc1014
    [ 89.653170] Unhandled fault: external abort on non-linefetch (0x1028) at 0xe2000ca8
    [ 89.661188] Internal error: : 1028 [#1] ARM
    Point that some process (probably pvr driver) is trying to access a memory region that is not properly mapped by the MMU.
    Can you check your boot log for PVR errors? Are the pvr driver (pvrsrvkm, bufferclass_ti, omaplfb) sources specifically built against the running kernel, or are you using prebuilt kernel modules?

    Best Regards,
    Yordan
  • before run ./335x-demo, I tried to run "insmod /opt/gfxlibraries/gfx_rel_es8.x/bufferclass_ti.ko" , but failed , it prompted "Unkown symbol".
    kernel modules in /lib/modules/3.14.26 are built against the running kernel using following command:
    make ARCH=arm CROSS_COMPILE=/home/ubuntu/ti-sdk-am335x-evm-08.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf- INSTALL_MOD_PATH=/home/ubuntu/kernelmodules modules_install
    and how can i build bufferclass_ti.ko manually?
  • "and how can i build bufferclass_ti.ko manually?"

    Sources for bufferclass_ti.ko omaplfb & pvr are located in board-support/extra-drivers/sgx-modules-5.01.01.02/ folder. They are not included in the make modules command, you need to rebuild them separately.
    This is why you get the "Unkown symbol" error when trying to insmode the module, because you are inserting the old version included in the FS by default.
    Instructions on how to rebuild pvr driver are located in board-support/extra-drivers/sgx-modules-5.01.01.02/INSTALL file. Make sure you export all the environment variables described in this file.

    Best Regards,
    Yordan