本帖最后由 JerryWu75 于 2015-7-30 08:53 编辑
想开发一款3D游戏机,圆自己儿时的梦想,现在基本平台已经搞定,但是在加入TI的graphics SDK, SGX加速引擎时遇到问题. 使用AM3358,由于我是用的linux kernel3.2.0,好多工作环境,工具,软件包都已经在这个平台下工作了,不想折腾,就想将ti最新的ti-sdk-am335x-evm-01000000中的Graphics_SDK_5010102移植到我的系统平台上,编译通过,并正确安装到nfs文件系统中后,安装pvrsrvkm.ko没有大问题,但是安装omaplfb.ko出现以下的错误: [ 90.237843] Unable to handle kernel NULL pointer dereference at virtual addr0
[ 90.246411] pgd = ce908000
[ 90.249237] [00000000] *pgd=8e17f831, *pte=00000000, *ppte=00000000
[ 90.255827] Internal error: Oops: 17 [#1]
[ 90.260016] Modules linked in: omaplfb(O+) pvrsrvkm(O)
[ 90.265411] CPU: 0 Tainted: G O (3.2.0 #1)
[ 90.271147] PC is at AllocateDeviceID+0xc/0x54 [pvrsrvkm]
[ 90.276832] LR is at PVRSRVRegisterDCDeviceKM+0xfc/0x188 [pvrsrvkm]
[ 90.283384] pc : [<bf006d2c>] lr : [<bf00299c>] psr: 40000013
[ 90.283394] sp : ce913e18 ip : ce913e28 fp : ce913e24
[ 90.295382] r10: bf037434 r9 : bf0371ec r8 : bf037080
[ 90.300839] r7 : ce2a2e7c r6 : 00000000 r5 : ce2a2e04 r4 : 00000000
[ 90.307659] r3 : ce757180 r2 : 00000001 r1 : ce757188 r0 : 00000000
[ 90.314484] Flags: nZcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
[ 90.321940] Control: 10c5387d Table: 8e908019 DAC: 00000015
[ 90.327943] Process insmod (pid: 657, stack limit = 0xce9122f0)
[ 90.334130] Stack: (0xce913e18 to 0xce914000)
[ 90.338684] 3e00: ce918
[ 90.347235] 3e20: bf00299c bf006d2c ce774c80 ce757180 ce2a2e00 bf0391ac bf034
[ 90.355787] 3e40: ce913e8c ce913e50 bf037d90 bf0028ac ce913e50 ce913e50 c0040
[ 90.364339] 3e60: 00000000 bf039078 bf039078 c05fcdc0 ce912000 0000001c c0060
[ 90.372891] 3e80: ce913e9c ce913e90 bf03b010 bf037a50 ce913ef4 ce913ea0 c000c
[ 90.381443] 3ea0: ce913ec4 ce913eb0 00000002 00000000 ce919380 d0b46000 ce918
[ 90.389994] 3ec0: bf039078 bf039078 ce774140 bf039078 bf039078 ce774140 0000c
[ 90.398546] 3ee0: c00678e8 000007fa ce913fa4 ce913ef8 c0068d80 c00085e8 bf034
[ 90.407096] 3f00: 00000000 c00679e8 d0b48a40 d0b4ba94 00000000 bf0390c0 c00bc
[ 90.415647] 3f20: 00000000 00000000 00000000 00000000 00000000 00000000 d0b46
[ 90.424197] 3f40: d0b4b5bc d0b4b485 d0b4d7dc ce757180 000021b4 00002764 00000
[ 90.432747] 3f60: 0000001e 0000001f 0000000f 0000000d 0000000c 00000000 ce910
[ 90.441297] 3f80: bea07b14 00000069 00000080 c0014868 ce912000 00000000 00008
[ 90.449849] 3fa0: c00146c0 c00689a8 4016f540 bea07b14 000ed040 00007fd6 000e0
[ 90.458399] 3fc0: 4016f540 bea07b14 00000069 00000080 bea07b1c 000e0956 bea00
[ 90.466951] 3fe0: 402a35a0 bea077b0 00027414 402a35b0 80000010 000ed040 00000
[ 90.475493] Backtrace:
[ 90.478155] [<bf006d20>] (AllocateDeviceID+0x0/0x54 [pvrsrvkm]) from [<bf002)
[ 90.490489] [<bf0028a0>] (PVRSRVRegisterDCDeviceKM+0x0/0x188 [pvrsrvkm]) fro)
[ 90.502390] r7:bf037094 r6:bf0370a8 r5:bf0391ac r4:ce2a2e00
[ 90.508362] [<bf037a44>] (OMAPLFBInit+0x0/0x57c [omaplfb]) from [<bf03b010>])
[ 90.518934] [<bf03b000>] (OMAPLFB_Init+0x0/0x34 [omaplfb]) from [<c0008704>])
[ 90.529056] [<c00085dc>] (do_one_initcall+0x0/0x1a8) from [<c0068d80>] (sys_)
[ 90.538716] [<c006899c>] (sys_init_module+0x0/0x1b68) from [<c00146c0>] (ret)
[ 90.548176] Code: e89da830 e1a0c00d e92dd800 e24cb004 (e5902000)
[ 90.554780] ---[ end trace 200998351928e7e7 ]---
Segmentation fault 检查后发现是omaplfb.ko在通过这个函数SysAcquireData(&psSysData),获取kernel系统信息时,psSysData返回空指针导致的. 有没有做过这方面的朋友一起来探讨探讨? 在ti的中文论坛上放了一段时间,一直没有消息,放到这里来看看 :)
|