[Letux-kernel] SGX working on BeagleBone...

H. Nikolaus Schaller hns at goldelico.com
Mon Oct 14 17:00:11 CEST 2019


> Am 14.10.2019 um 10:12 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
> 
> 
>> Am 14.10.2019 um 08:33 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
>> root at letux:~# pvrsrvctl --start --no-module
>> [ 4466.006683] PVR_K: UM DDK-(3699939) and KM DDK-(3699939) match. [ OK ]
>> root at letux:~# cat /proc/pvr/version 
>> Version SGX_DDK sgxddk MAIN at 3699939 (release) omap_sgx
>> System Version String: SGX revision = 125
>> root at letux:~# uname -a
>> Linux letux 5.4.0-rc2-letux+ #1198 SMP PREEMPT Sat Oct 12 18:20:32 CEST 2019 armv7l GNU/Linux
>> root at letux:~# cat /sys/devices/soc0/machine
>> OMAP3630/DM3730
>> root at letux:~# gles 
>> gles1test1  gles2test1  
>> root at letux:~# gles1test1 
>> [ 4478.031799] PVR_K:(Error): DoMapToUser: Error - vmf_insert_mixed failed (100)
>> PVR:(Error): PVRPMapKMem: mmap(2) failed: Mapping handle=0xf: Tܿ7p% [0, ]
>> PVR:(Error): WSEGL_InitialiseDisplay: Failed to open primary device: No such file or directory [0, ]
>> 'eglInitialize' returned egl error 'EGL_NOT_INITIALIZED' (0x3001)
>> root at letux:~#

after adding "coherent_pool=1M" to the kernel boot command line it works on BeagleBone Black:

https://youtu.be/jFCPR_EvtjY

a) BeagleBone AM335x

root at letux:~# pvrsrvctl --start --no-module
[  230.461605] PVR_K: UM DDK-(3699939) and KM DDK-(3699939) match. [ OK ]
root at letux:~# gles1test1 
[  235.203138] PVR_K:(Error): DoMapToUser: Error - vmf_insert_mixed failed (100)
PVR:(Error): PVRPMapKMem: mmap(2) failed: Mapping handle=0xf: Tl6p [0, ]
root at letux:~# gles1test1 100
[  238.824162] PVR_K:(Error): DoMapToUser: Error - vmf_insert_mixed failed (100)
PVR:(Error): PVRPMapKMem: mmap(2) failed: Mapping handle=0xf: Tög,pξ [0, ]
root at letux:~# gles1test1 100
[  302.296776] PVR_K:(Error): DoMapToUser: Error - vmf_insert_mixed failed (100)
PVR:(Error): PVRPMapKMem: mmap(2) failed: Mapping handle=0xf: TpŜ [0, ]
root at letux:~# gles1test1 300
[  324.881798] PVR_K:(Error): DoMapToUser: Error - vmf_insert_mixed failed (100)
PVR:(Error): PVRPMapKMem: mmap(2) failed: Mapping handle=0xf: TpѾ [0, ]
root at letux:~#

There is still one mapping error but that one is apparently ignored.

It also appears as if it has a printk("...T%s") for a dangling pointer.

b) GTA04 DM3730

root at letux:~# gles1test1 
[  110.028076] PVR_K:(Error): DoMapToUser: Error - vmf_insert_mixed failed (100)
PVR:(Error): PVRPMapKMem: mmap(2) failed: Mapping handle=0xf: T<ȶ\0; [0, ]
PVR:(Error): WSEGL_InitialiseDisplay: Failed to open primary device: No such file or directory [0, ]
'eglInitialize' returned egl error 'EGL_NOT_INITIALIZED' (0x3001)
root at letux:~#

So the DoMapToUser error is the same, but more harmful on OMAP3 than AM335x.

>> 
>> Anyways, this is a good indication that we can run the 1.14 PVR also on OMAP3 even
>> if not officially supported. Maybe the driver needs some hack to help with vmf_insert_mixed.
> 
> Quick test: this variant does not run on OMAP5. Complains that it does not know OMAP5432,
> about bad number of cores and mismatch of config options.
> 
> So there are multiple different user-space variants around, not only for different
> SGX versions but older and newer.
> 
> Most likely we need to clone a different branch from git://git.ti.com/graphics/omap5-sgx-ddk-um-linux.git
> 
> BR,
> Nikolaus
> 
> 
> _______________________________________________
> http://projects.goldelico.com/p/gta04-kernel/
> Letux-kernel mailing list
> Letux-kernel at openphoenux.org
> http://lists.goldelico.com/mailman/listinfo.cgi/letux-kernel



More information about the Letux-kernel mailing list