summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Salveti de Araujo <ricardo.salveti@linaro.org>2012-08-19 20:56:42 -0300
committerRicardo Salveti de Araujo <ricardo.salveti@linaro.org>2012-08-19 20:56:42 -0300
commite99bbab50842170c4d9854ebf0a46796493df0a0 (patch)
treee61e9884e437cfef6d5eec1ef73ce05da2c56d62
parent7fb51412b963536bb6d07648a4fc4b5e11485ae9 (diff)
Imported Upstream version 1.9.0.5.1.1 (ARMHF)upstream/1.9.0.5.1.1upstream
Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@linaro.org>
-rw-r--r--fetch-pvr-omap/log.txt14
-rw-r--r--fetch-pvr-omap/sgx-lib-data/control2
-rw-r--r--fetch-pvr-omap/sgx-lib-data/md5sums2
-rw-r--r--fetch-pvr-omap/sgx-lib-dbgsym/control6
-rw-r--r--fetch-pvr-omap/sgx-lib-dev/control6
-rw-r--r--fetch-pvr-omap/sgx-lib-dev/md5sums6
-rw-r--r--fetch-pvr-omap/sgx-lib/control6
-rw-r--r--fetch-pvr-omap/sgx-lib/md5sums34
-rw-r--r--fetch-pvr-omap/xserver-xorg-video-omap-pvr-dbg/control6
-rw-r--r--fetch-pvr-omap/xserver-xorg-video-omap-pvr-dbg/md5sums2
-rw-r--r--fetch-pvr-omap/xserver-xorg-video-omap-pvr/control4
-rw-r--r--fetch-pvr-omap/xserver-xorg-video-omap-pvr/md5sums4
-rw-r--r--sgx/eurasiacon/build/linux2/bits.mk1
-rw-r--r--sgx/eurasiacon/build/linux2/buildvars.mk1
-rw-r--r--sgx/eurasiacon/build/linux2/commands.mk1
-rw-r--r--sgx/eurasiacon/build/linux2/common/apis/xorg.mk1
-rw-r--r--sgx/eurasiacon/build/linux2/common/dridrm.mk1
-rw-r--r--sgx/eurasiacon/build/linux2/common/omap4.mk1
-rwxr-xr-xsgx/eurasiacon/build/linux2/common/omap5.mk47
-rw-r--r--sgx/eurasiacon/build/linux2/common/opencl.mk1
-rw-r--r--sgx/eurasiacon/build/linux2/common/xorg.mk1
-rw-r--r--sgx/eurasiacon/build/linux2/common/xorg_test.mk1
-rw-r--r--sgx/eurasiacon/build/linux2/config/core.mk1
-rw-r--r--sgx/eurasiacon/build/linux2/defs.mk1
-rw-r--r--sgx/eurasiacon/build/linux2/kbuild/Makefile.template1
-rw-r--r--sgx/eurasiacon/build/linux2/kbuild/external_tarball.mk1
-rw-r--r--sgx/eurasiacon/build/linux2/kbuild/kbuild.mk6
-rw-r--r--sgx/eurasiacon/build/linux2/kernel_module.mk1
-rw-r--r--sgx/eurasiacon/build/linux2/kernel_version.mk1
-rw-r--r--sgx/eurasiacon/build/linux2/moduledefs.mk1
-rw-r--r--sgx/eurasiacon/build/linux2/modules.mk1
-rw-r--r--sgx/eurasiacon/build/linux2/omap4430_linux/Makefile1
-rwxr-xr-xsgx/eurasiacon/build/linux2/omap5430_linux/Makefile219
-rw-r--r--sgx/eurasiacon/build/linux2/prepare_tree.mk1
-rw-r--r--sgx/eurasiacon/build/linux2/this_makefile.mk1
-rwxr-xr-xsgx/eurasiacon/build/linux2/tools/cc-check.sh3
-rw-r--r--sgx/eurasiacon/build/linux2/toplevel.mk1
-rw-r--r--sgx/include4/dbgdrvif.h1
-rw-r--r--sgx/include4/img_defs.h1
-rw-r--r--sgx/include4/img_types.h5
-rw-r--r--sgx/include4/pdumpdefs.h1
-rw-r--r--sgx/include4/pvr_debug.h1
-rw-r--r--sgx/include4/pvrmodule.h1
-rw-r--r--sgx/include4/pvrversion.h8
-rw-r--r--sgx/include4/services.h3
-rw-r--r--sgx/include4/servicesext.h1
-rw-r--r--sgx/include4/sgx_options.h1
-rw-r--r--sgx/include4/sgxapi_km.h3
-rw-r--r--sgx/include4/sgxscript.h1
-rw-r--r--sgx/services4/3rdparty/bufferclass_example/Kbuild.mk1
-rw-r--r--sgx/services4/3rdparty/bufferclass_example/Linux.mk1
-rw-r--r--sgx/services4/3rdparty/bufferclass_example/bufferclass_example.c1
-rw-r--r--sgx/services4/3rdparty/bufferclass_example/bufferclass_example.h1
-rw-r--r--sgx/services4/3rdparty/bufferclass_example/bufferclass_example_linux.c1
-rw-r--r--sgx/services4/3rdparty/bufferclass_example/bufferclass_example_linux.h1
-rw-r--r--sgx/services4/3rdparty/bufferclass_example/bufferclass_example_private.c1
-rw-r--r--sgx/services4/3rdparty/bufferclass_example/bufferclass_example_private.h1
-rw-r--r--sgx/services4/3rdparty/dc_omapfb3_linux/3rdparty_dc_drm_shared.h1
-rw-r--r--sgx/services4/3rdparty/dc_omapfb3_linux/Kbuild.mk1
-rw-r--r--sgx/services4/3rdparty/dc_omapfb3_linux/Linux.mk1
-rw-r--r--sgx/services4/3rdparty/dc_omapfb3_linux/omaplfb.h1
-rw-r--r--sgx/services4/3rdparty/dc_omapfb3_linux/omaplfb_displayclass.c1
-rw-r--r--sgx/services4/3rdparty/dc_omapfb3_linux/omaplfb_linux.c4
-rw-r--r--sgx/services4/3rdparty/linux_drm/Kbuild.mk1
-rw-r--r--sgx/services4/3rdparty/linux_drm/Linux.mk1
-rw-r--r--sgx/services4/3rdparty/linux_drm/pvr_drm_mod.h1
-rw-r--r--sgx/services4/3rdparty/linux_drm/pvr_drm_stubs.c1
-rw-r--r--sgx/services4/include/env/linux/pvr_drm_shared.h1
-rw-r--r--sgx/services4/include/kernelbuffer.h1
-rw-r--r--sgx/services4/include/kerneldisplay.h1
-rw-r--r--sgx/services4/include/pdump.h1
-rw-r--r--sgx/services4/include/pvr_bridge.h3
-rw-r--r--sgx/services4/include/pvr_bridge_km.h1
-rw-r--r--sgx/services4/include/pvrmmap.h1
-rw-r--r--sgx/services4/include/pvrsrv_errors.h1
-rw-r--r--sgx/services4/include/servicesint.h1
-rw-r--r--sgx/services4/include/sgx_bridge.h1
-rw-r--r--sgx/services4/include/sgx_mkif_km.h1
-rw-r--r--sgx/services4/include/sgx_ukernel_status_codes.h11
-rw-r--r--sgx/services4/include/sgxinfo.h3
-rw-r--r--sgx/services4/srvkm/bridged/bridged_pvr_bridge.c7
-rw-r--r--sgx/services4/srvkm/bridged/bridged_pvr_bridge.h1
-rw-r--r--sgx/services4/srvkm/bridged/bridged_support.c1
-rw-r--r--sgx/services4/srvkm/bridged/bridged_support.h1
-rw-r--r--sgx/services4/srvkm/bridged/sgx/bridged_sgx_bridge.c10
-rw-r--r--sgx/services4/srvkm/bridged/sgx/bridged_sgx_bridge.h1
-rw-r--r--sgx/services4/srvkm/common/buffer_manager.c1
-rw-r--r--sgx/services4/srvkm/common/deviceclass.c1
-rw-r--r--sgx/services4/srvkm/common/deviceid.h1
-rw-r--r--sgx/services4/srvkm/common/devicemem.c1
-rw-r--r--sgx/services4/srvkm/common/handle.c1
-rw-r--r--sgx/services4/srvkm/common/hash.c13
-rw-r--r--sgx/services4/srvkm/common/lists.c1
-rw-r--r--sgx/services4/srvkm/common/mem.c1
-rw-r--r--sgx/services4/srvkm/common/mem_debug.c1
-rw-r--r--sgx/services4/srvkm/common/metrics.c3
-rw-r--r--sgx/services4/srvkm/common/osfunc_common.c1
-rw-r--r--sgx/services4/srvkm/common/pdump_common.c1
-rw-r--r--sgx/services4/srvkm/common/perproc.c7
-rw-r--r--sgx/services4/srvkm/common/power.c1
-rw-r--r--sgx/services4/srvkm/common/pvrsrv.c3
-rw-r--r--sgx/services4/srvkm/common/queue.c1
-rw-r--r--sgx/services4/srvkm/common/ra.c73
-rw-r--r--sgx/services4/srvkm/common/refcount.c14
-rw-r--r--sgx/services4/srvkm/common/resman.c1
-rw-r--r--sgx/services4/srvkm/devices/sgx/mmu.c26
-rw-r--r--sgx/services4/srvkm/devices/sgx/mmu.h1
-rw-r--r--sgx/services4/srvkm/devices/sgx/pb.c1
-rw-r--r--sgx/services4/srvkm/devices/sgx/sgx_bridge_km.h1
-rw-r--r--sgx/services4/srvkm/devices/sgx/sgxconfig.h1
-rw-r--r--sgx/services4/srvkm/devices/sgx/sgxinfokm.h3
-rw-r--r--sgx/services4/srvkm/devices/sgx/sgxinit.c116
-rw-r--r--sgx/services4/srvkm/devices/sgx/sgxkick.c17
-rw-r--r--sgx/services4/srvkm/devices/sgx/sgxpower.c1
-rw-r--r--sgx/services4/srvkm/devices/sgx/sgxreset.c1
-rw-r--r--sgx/services4/srvkm/devices/sgx/sgxtransfer.c1
-rw-r--r--sgx/services4/srvkm/devices/sgx/sgxutils.c1
-rw-r--r--sgx/services4/srvkm/devices/sgx/sgxutils.h1
-rw-r--r--sgx/services4/srvkm/env/linux/Kbuild.mk1
-rw-r--r--sgx/services4/srvkm/env/linux/Linux.mk1
-rw-r--r--sgx/services4/srvkm/env/linux/env_data.h1
-rw-r--r--sgx/services4/srvkm/env/linux/env_perproc.h1
-rw-r--r--sgx/services4/srvkm/env/linux/event.c1
-rw-r--r--sgx/services4/srvkm/env/linux/event.h1
-rw-r--r--sgx/services4/srvkm/env/linux/linkage.h1
-rw-r--r--sgx/services4/srvkm/env/linux/lock.h1
-rw-r--r--sgx/services4/srvkm/env/linux/mm.c1
-rw-r--r--sgx/services4/srvkm/env/linux/mm.h1
-rw-r--r--sgx/services4/srvkm/env/linux/mmap.c2
-rw-r--r--sgx/services4/srvkm/env/linux/mmap.h1
-rw-r--r--sgx/services4/srvkm/env/linux/module.c1
-rw-r--r--sgx/services4/srvkm/env/linux/mutex.c1
-rw-r--r--sgx/services4/srvkm/env/linux/mutex.h1
-rw-r--r--sgx/services4/srvkm/env/linux/mutils.c1
-rw-r--r--sgx/services4/srvkm/env/linux/mutils.h1
-rw-r--r--sgx/services4/srvkm/env/linux/osfunc.c3
-rw-r--r--sgx/services4/srvkm/env/linux/osperproc.c1
-rw-r--r--sgx/services4/srvkm/env/linux/pdump.c1
-rw-r--r--sgx/services4/srvkm/env/linux/private_data.h1
-rw-r--r--sgx/services4/srvkm/env/linux/proc.c1
-rw-r--r--sgx/services4/srvkm/env/linux/proc.h1
-rw-r--r--sgx/services4/srvkm/env/linux/pvr_bridge_k.c1
-rw-r--r--sgx/services4/srvkm/env/linux/pvr_debug.c1
-rw-r--r--sgx/services4/srvkm/env/linux/pvr_drm.c1
-rw-r--r--sgx/services4/srvkm/env/linux/pvr_drm.h1
-rw-r--r--sgx/services4/srvkm/env/linux/pvr_uaccess.h1
-rw-r--r--sgx/services4/srvkm/hwdefs/ocpdefs.h1
-rw-r--r--sgx/services4/srvkm/hwdefs/sgx530defs.h1
-rw-r--r--sgx/services4/srvkm/hwdefs/sgx540defs.h1
-rw-r--r--sgx/services4/srvkm/hwdefs/sgx544defs.h1
-rw-r--r--sgx/services4/srvkm/hwdefs/sgxdefs.h1
-rw-r--r--sgx/services4/srvkm/hwdefs/sgxerrata.h1
-rw-r--r--sgx/services4/srvkm/hwdefs/sgxfeaturedefs.h6
-rw-r--r--sgx/services4/srvkm/hwdefs/sgxmmu.h1
-rw-r--r--sgx/services4/srvkm/hwdefs/sgxmpdefs.h1
-rw-r--r--sgx/services4/srvkm/include/buffer_manager.h1
-rw-r--r--sgx/services4/srvkm/include/device.h1
-rw-r--r--sgx/services4/srvkm/include/handle.h1
-rw-r--r--sgx/services4/srvkm/include/hash.h1
-rw-r--r--sgx/services4/srvkm/include/lists.h1
-rw-r--r--sgx/services4/srvkm/include/metrics.h3
-rw-r--r--sgx/services4/srvkm/include/osfunc.h9
-rw-r--r--sgx/services4/srvkm/include/osperproc.h1
-rw-r--r--sgx/services4/srvkm/include/pdump_int.h1
-rw-r--r--sgx/services4/srvkm/include/pdump_km.h3
-rw-r--r--sgx/services4/srvkm/include/pdump_osfunc.h24
-rw-r--r--sgx/services4/srvkm/include/perfkm.h1
-rw-r--r--sgx/services4/srvkm/include/perproc.h1
-rw-r--r--sgx/services4/srvkm/include/power.h1
-rw-r--r--sgx/services4/srvkm/include/queue.h1
-rw-r--r--sgx/services4/srvkm/include/ra.h1
-rw-r--r--sgx/services4/srvkm/include/refcount.h1
-rw-r--r--sgx/services4/srvkm/include/resman.h1
-rw-r--r--sgx/services4/srvkm/include/services_headers.h1
-rw-r--r--sgx/services4/srvkm/include/srvkm.h1
-rw-r--r--sgx/services4/srvkm/include/ttrace.h1
-rw-r--r--sgx/services4/srvkm/include/ttrace_common.h1
-rw-r--r--sgx/services4/srvkm/include/ttrace_tokens.h4
-rw-r--r--sgx/services4/system/include/syscommon.h1
-rw-r--r--sgx/services4/system/omap4/oemfuncs.h1
-rw-r--r--sgx/services4/system/omap4/sysconfig.c1
-rw-r--r--sgx/services4/system/omap4/sysconfig.h1
-rw-r--r--sgx/services4/system/omap4/sysinfo.h1
-rw-r--r--sgx/services4/system/omap4/syslocal.h6
-rw-r--r--sgx/services4/system/omap4/sysutils.c1
-rw-r--r--sgx/services4/system/omap4/sysutils_linux.c1
-rw-r--r--sgx/services4/system/omap5/oemfuncs.h81
-rw-r--r--sgx/services4/system/omap5/sysconfig.c1305
-rw-r--r--sgx/services4/system/omap5/sysconfig.h102
-rw-r--r--sgx/services4/system/omap5/sysinfo.h65
-rw-r--r--sgx/services4/system/omap5/syslocal.h264
-rw-r--r--sgx/services4/system/omap5/sysutils.c50
-rw-r--r--sgx/services4/system/omap5/sysutils_linux.c882
-rw-r--r--sgx/tools/intern/debug/client/linuxsrv.h1
-rw-r--r--sgx/tools/intern/debug/dbgdriv/Kbuild.mk1
-rw-r--r--sgx/tools/intern/debug/dbgdriv/Linux.mk1
-rw-r--r--sgx/tools/intern/debug/dbgdriv/common/dbgdriv.c1
-rw-r--r--sgx/tools/intern/debug/dbgdriv/common/dbgdriv.h1
-rw-r--r--sgx/tools/intern/debug/dbgdriv/common/dbgdriv_ioctl.h1
-rw-r--r--sgx/tools/intern/debug/dbgdriv/common/handle.c1
-rw-r--r--sgx/tools/intern/debug/dbgdriv/common/hostfunc.h1
-rw-r--r--sgx/tools/intern/debug/dbgdriv/common/hotkey.c3
-rw-r--r--sgx/tools/intern/debug/dbgdriv/common/hotkey.h1
-rw-r--r--sgx/tools/intern/debug/dbgdriv/common/ioctl.c1
-rw-r--r--sgx/tools/intern/debug/dbgdriv/linux/hostfunc.c1
-rw-r--r--sgx/tools/intern/debug/dbgdriv/linux/main.c1
-rwxr-xr-xusr/bin/sgx_init_testbin13888 -> 13888 bytes
-rwxr-xr-xusr/bin/xeglinfobin18048 -> 18048 bytes
-rwxr-xr-xusr/bin/xgles1test1bin14248 -> 14248 bytes
-rwxr-xr-xusr/bin/xgles2test1bin18616 -> 18616 bytes
-rwxr-xr-xusr/bin/xmultiegltestbin14200 -> 14200 bytes
-rw-r--r--usr/include/EGL/eglplatform.h2
-rw-r--r--usr/include/KHR/khrplatform.h5
-rwxr-xr-xusr/lib/debug/usr/bin/sgx_init_testbin39506 -> 46867 bytes
-rwxr-xr-xusr/lib/debug/usr/bin/xeglinfobin35848 -> 45853 bytes
-rwxr-xr-xusr/lib/debug/usr/bin/xgles1test1bin27756 -> 34987 bytes
-rwxr-xr-xusr/lib/debug/usr/bin/xgles2test1bin37757 -> 51372 bytes
-rwxr-xr-xusr/lib/debug/usr/bin/xmultiegltestbin24317 -> 33868 bytes
-rwxr-xr-xusr/lib/debug/usr/lib/libEGL.so.1.9.6.0bin13202 -> 16846 bytes
-rwxr-xr-xusr/lib/debug/usr/lib/libGLESv1_CM.so.1.9.6.0bin2070396 -> 2352989 bytes
-rwxr-xr-xusr/lib/debug/usr/lib/libGLESv2.so.1.9.6.0bin1944856 -> 2205373 bytes
-rwxr-xr-xusr/lib/debug/usr/lib/libIMGegl.so.1.9.6.0bin314516 -> 357508 bytes
-rwxr-xr-xusr/lib/debug/usr/lib/libPVRScopeServices.so.1.9.6.0bin32738 -> 36600 bytes
-rwxr-xr-xusr/lib/debug/usr/lib/libglslcompiler.so.1.9.6.0bin675211 -> 858588 bytes
-rwxr-xr-xusr/lib/debug/usr/lib/libpvr2d.so.1.9.6.0bin119906 -> 133634 bytes
-rwxr-xr-xusr/lib/debug/usr/lib/libpvrws_OMAPDRI2.so.1.9.6.0bin63847 -> 70413 bytes
-rwxr-xr-xusr/lib/debug/usr/lib/libsrv_init.so.1.9.6.0bin53905 -> 61740 bytes
-rwxr-xr-xusr/lib/debug/usr/lib/libsrv_um.so.1.9.6.0bin512059 -> 631122 bytes
-rwxr-xr-xusr/lib/debug/usr/lib/libusc.so.1.9.6.0bin3134651 -> 3845085 bytes
-rw-r--r--usr/lib/debug/usr/lib/xorg/modules/drivers/omap_pvr_drv.sobin220910 -> 257870 bytes
-rw-r--r--usr/lib/libEGL.so.1.9.6.0bin9620 -> 9628 bytes
-rw-r--r--usr/lib/libGLESv1_CM.so.1.9.6.0bin338180 -> 338184 bytes
-rw-r--r--usr/lib/libGLESv2.so.1.9.6.0bin296996 -> 297000 bytes
-rw-r--r--usr/lib/libIMGegl.so.1.9.6.0bin67264 -> 67272 bytes
-rw-r--r--usr/lib/libPVRScopeServices.so.1.9.6.0bin9596 -> 9604 bytes
-rw-r--r--usr/lib/libglslcompiler.so.1.9.6.0bin185948 -> 190048 bytes
-rw-r--r--usr/lib/libpvr2d.so.1.9.6.0bin22072 -> 22080 bytes
-rw-r--r--usr/lib/libpvrws_OMAPDRI2.so.1.9.6.0bin13936 -> 13940 bytes
-rw-r--r--usr/lib/libsrv_init.so.1.9.6.0bin91520 -> 91528 bytes
-rw-r--r--usr/lib/libsrv_um.so.1.9.6.0bin161464 -> 161472 bytes
-rw-r--r--usr/lib/libusc.so.1.9.6.0bin591404 -> 579120 bytes
-rw-r--r--usr/lib/xorg/modules/drivers/omap_pvr_drv.sobin59416 -> 59420 bytes
-rw-r--r--usr/share/doc/sgx-lib-data/changelog.Debian.gzbin6384 -> 6498 bytes
-rw-r--r--usr/share/doc/sgx-lib-dev/changelog.Debian.gzbin6384 -> 6498 bytes
-rw-r--r--usr/share/doc/sgx-lib/changelog.Debian.gzbin6384 -> 6498 bytes
-rw-r--r--usr/share/doc/xserver-xorg-video-omap-pvr/changelog.Debian.gzbin600 -> 654 bytes
246 files changed, 3309 insertions, 362 deletions
diff --git a/fetch-pvr-omap/log.txt b/fetch-pvr-omap/log.txt
index c445c65..268f4db 100644
--- a/fetch-pvr-omap/log.txt
+++ b/fetch-pvr-omap/log.txt
@@ -1,12 +1,12 @@
fetch-pvr-omap
-Wed Jul 25 14:37:24 CEST 2012
+Fri Aug 17 08:29:59 UTC 2012
===
"Fetched" packages:
-- sgx-lib_1.9.0.4.2-1glp2_armhf.deb
-- sgx-lib-data_1.9.0.4.2-1glp2_all.deb
-- sgx-lib-dev_1.9.0.4.2-1glp2_armhf.deb
-- xserver-xorg-video-omap-pvr_0.3.4-0ubuntu1_armhf.deb
-- xserver-xorg-video-omap-pvr-dbg_0.3.4-0ubuntu1_armhf.deb
-- sgx-lib-dbgsym_1.9.0.4.2-1glp2_armhf.ddeb
+- sgx-lib_1.9.0.5.1-1glp50_armhf.deb
+- sgx-lib-data_1.9.0.5.1-1glp50_all.deb
+- sgx-lib-dev_1.9.0.5.1-1glp50_armhf.deb
+- xserver-xorg-video-omap-pvr_0.3.5-0ubuntu50_armhf.deb
+- xserver-xorg-video-omap-pvr-dbg_0.3.5-0ubuntu50_armhf.deb
+- sgx-lib-dbgsym_1.9.0.5.1-1glp50_armhf.ddeb
diff --git a/fetch-pvr-omap/sgx-lib-data/control b/fetch-pvr-omap/sgx-lib-data/control
index 0afdffc..01733c5 100644
--- a/fetch-pvr-omap/sgx-lib-data/control
+++ b/fetch-pvr-omap/sgx-lib-data/control
@@ -1,6 +1,6 @@
Package: sgx-lib-data
Source: sgx-lib
-Version: 1.9.0.4.2-1glp2
+Version: 1.9.0.5.1-1glp50
Architecture: all
Maintainer: TI OMAP Developers <tiomap-dev@lists.launchpad.net>
Installed-Size: 41
diff --git a/fetch-pvr-omap/sgx-lib-data/md5sums b/fetch-pvr-omap/sgx-lib-data/md5sums
index 1922ffa..16029a2 100644
--- a/fetch-pvr-omap/sgx-lib-data/md5sums
+++ b/fetch-pvr-omap/sgx-lib-data/md5sums
@@ -1,4 +1,4 @@
-15918f54d0121fe351a1e1543ad98b85 usr/share/doc/sgx-lib-data/changelog.Debian.gz
+0762d5f0faa13178f1eba2ceccfe0314 usr/share/doc/sgx-lib-data/changelog.Debian.gz
542af8025bb26f9b36a120c00e319748 usr/share/doc/sgx-lib-data/copyright
4d4e77f7b2e1251c25ff172a2d6e927b usr/share/sgx-lib/glsltest1_fragshaderA.txt
209dae6be9437e133b09b776687bd67f usr/share/sgx-lib/glsltest1_fragshaderB.txt
diff --git a/fetch-pvr-omap/sgx-lib-dbgsym/control b/fetch-pvr-omap/sgx-lib-dbgsym/control
index 83a1a7e..7f2c9f4 100644
--- a/fetch-pvr-omap/sgx-lib-dbgsym/control
+++ b/fetch-pvr-omap/sgx-lib-dbgsym/control
@@ -1,10 +1,10 @@
Package: sgx-lib-dbgsym
Source: sgx-lib
-Version: 1.9.0.4.2-1glp2
-Depends: sgx-lib (= 1.9.0.4.2-1glp2)
+Version: 1.9.0.5.1-1glp50
+Depends: sgx-lib (= 1.9.0.5.1-1glp50)
Architecture: armhf
Maintainer: TI OMAP Developers <tiomap-dev@lists.launchpad.net>
-Installed-Size: 8920
+Installed-Size: 10563
Section: graphics
Priority: extra
Homepage: https://gforge01.dal.design.ti.com/gf/project/gfx_l24_ddk2/
diff --git a/fetch-pvr-omap/sgx-lib-dev/control b/fetch-pvr-omap/sgx-lib-dev/control
index d2d42be..c428a11 100644
--- a/fetch-pvr-omap/sgx-lib-dev/control
+++ b/fetch-pvr-omap/sgx-lib-dev/control
@@ -1,10 +1,10 @@
Package: sgx-lib-dev
Source: sgx-lib
-Version: 1.9.0.4.2-1glp2
+Version: 1.9.0.5.1-1glp50
Architecture: armhf
Maintainer: TI OMAP Developers <tiomap-dev@lists.launchpad.net>
-Installed-Size: 263
-Depends: sgx-lib (= 1.9.0.4.2-1glp2), libx11-dev
+Installed-Size: 264
+Depends: sgx-lib (= 1.9.0.5.1-1glp50), libx11-dev
Conflicts: libegl1-mesa-dev, libegl1-sgx-omap4-dev, libegl1-x11-dev, libgles1-dev, libgles1-mesa-dev, libgles1-sgx-omap4-dev, libgles2-dev, libgles2-mesa-dev, libgles2-sgx-omap4-dev
Replaces: libegl1-mesa-dev, libegl1-sgx-omap4-dev, libegl1-x11-dev, libgles1-dev, libgles1-mesa-dev, libgles1-sgx-omap4-dev, libgles2-dev, libgles2-mesa-dev, libgles2-sgx-omap4-dev
Provides: libegl1-mesa-dev, libegl1-x11-dev, libgles1-dev, libgles1-mesa-dev, libgles2-dev, libgles2-mesa-dev
diff --git a/fetch-pvr-omap/sgx-lib-dev/md5sums b/fetch-pvr-omap/sgx-lib-dev/md5sums
index c97de2f..906c869 100644
--- a/fetch-pvr-omap/sgx-lib-dev/md5sums
+++ b/fetch-pvr-omap/sgx-lib-dev/md5sums
@@ -1,15 +1,15 @@
2854e632f01bbff2304be959db805fc8 usr/include/EGL/egl.h
11d1fca023575b6f0163dc2570a32007 usr/include/EGL/eglext.h
-ffd01f5ec1c582b9df88963dcc9e6df4 usr/include/EGL/eglplatform.h
+3491104cbfac18bd4a55ed27af1efe56 usr/include/EGL/eglplatform.h
6ab32636cd7bf30b1ff24ab27aff7fd1 usr/include/GLES/gl.h
1d7532ac190ac6a20c046a6572bc0a4b usr/include/GLES/glext.h
5230cef31aba6eb34e5c307f9cc191c2 usr/include/GLES/glplatform.h
186f82e8a7a4db323944a3bdd0aa4a81 usr/include/GLES2/gl2.h
064b519cc50c09e0d121eeb30b0cef91 usr/include/GLES2/gl2ext.h
3cc09f4be0daf2abdb1890fa3c8ba40c usr/include/GLES2/gl2platform.h
-731ee537b1b898b582728e54e077ec27 usr/include/KHR/khrplatform.h
+73d3f6f6650e6e108e8076de9757daee usr/include/KHR/khrplatform.h
c55edf0b8437bd024d73b333430ff4c1 usr/lib/pkgconfig/egl.pc
4805ddb8cd48e49e2ebe0644eb5cef92 usr/lib/pkgconfig/glesv1_cm.pc
4204e526e5f0f24ef1da9b3a224db869 usr/lib/pkgconfig/glesv2.pc
-15918f54d0121fe351a1e1543ad98b85 usr/share/doc/sgx-lib-dev/changelog.Debian.gz
+0762d5f0faa13178f1eba2ceccfe0314 usr/share/doc/sgx-lib-dev/changelog.Debian.gz
542af8025bb26f9b36a120c00e319748 usr/share/doc/sgx-lib-dev/copyright
diff --git a/fetch-pvr-omap/sgx-lib/control b/fetch-pvr-omap/sgx-lib/control
index 37a3535..9bdbd2a 100644
--- a/fetch-pvr-omap/sgx-lib/control
+++ b/fetch-pvr-omap/sgx-lib/control
@@ -1,9 +1,9 @@
Package: sgx-lib
-Version: 1.9.0.4.2-1glp2
+Version: 1.9.0.5.1-1glp50
Architecture: armhf
Maintainer: TI OMAP Developers <tiomap-dev@lists.launchpad.net>
-Installed-Size: 1879
-Depends: libc6 (>= 2.15-0ubuntu8), libdri2-1 (>= 1.0.2-0ubuntu3), libdrm-omap1 (>= 2.4.32-1ubuntu1+ti3.0), libdrm2 (>= 2.3.1), libgcc1 (>= 1:4.4.0), libstdc++6 (>= 4.1.1), libx11-6, libxfixes3, sgx-lib-data (= 1.9.0.4.2-1glp2), libpixman-1-0
+Installed-Size: 1871
+Depends: libc6 (>= 2.15-0ubuntu8), libdri2-1 (>= 1.0.2-0ubuntu3), libdrm-omap1 (>= 2.4.38), libdrm2 (>= 2.3.1), libgcc1 (>= 1:4.4.0), libstdc++6 (>= 4.1.1), libx11-6, libxfixes3, sgx-lib-data (= 1.9.0.5.1-1glp50), libpixman-1-0
Suggests: sgx-lib-doc
Conflicts: libegl1-sgx-omap4, libegl1-x11, libgles1, libgles1-sgx-omap4, libgles2, libgles2-sgx-omap4, pvr-omap4, pvr-omap4-utils, sgx-lib-noxws, xf86-video-v4l2
Replaces: libegl1-sgx-omap4, libegl1-x11, libgles1, libgles1-sgx-omap4, libgles2, libgles2-sgx-omap4, pvr-omap4, pvr-omap4-utils, sgx-lib-noxws, xf86-video-v4l2
diff --git a/fetch-pvr-omap/sgx-lib/md5sums b/fetch-pvr-omap/sgx-lib/md5sums
index 8dc14a2..fa27429 100644
--- a/fetch-pvr-omap/sgx-lib/md5sums
+++ b/fetch-pvr-omap/sgx-lib/md5sums
@@ -1,19 +1,19 @@
-2dc0a6f6916b0143d305439a7d793096 usr/bin/sgx_init_test
-4f9de3c82912287e5cc2baac993c5de8 usr/bin/xeglinfo
-bd17a3346a7e5e0be46d13b1df3d3c1b usr/bin/xgles1test1
-f8ff17ba9d927f84f61cc64eafafb3d1 usr/bin/xgles2test1
-a93a0bea1f2372e8187c64a36ffa6410 usr/bin/xmultiegltest
-641469b5ef8d3728e9eb1139e7eebfaf usr/lib/libEGL.so.1.9.6.0
-0e33f03fda86a96c7a226136854c859b usr/lib/libGLESv1_CM.so.1.9.6.0
-e4d200310ae47cb6472e1b92b1afd449 usr/lib/libGLESv2.so.1.9.6.0
-56f60b5281b7f3b2b9182d67abf9880f usr/lib/libIMGegl.so.1.9.6.0
-92b78cb132a1dab605e93e31b76c4d80 usr/lib/libPVRScopeServices.so.1.9.6.0
-76cc0b51d8fa1aa6e8e056302adf393b usr/lib/libglslcompiler.so.1.9.6.0
-b08ff28d955958042d08b729c95bb8ed usr/lib/libpvr2d.so.1.9.6.0
-11b9730cd85bb54ad46b7b11f4c320ac usr/lib/libpvrws_OMAPDRI2.so.1.9.6.0
-9ce5fff9862c10fae2d2bbc26c87556c usr/lib/libsrv_init.so.1.9.6.0
-1f2023628c8087b9747eb1363e30c52e usr/lib/libsrv_um.so.1.9.6.0
-1200e6a723f030b60f13c4db6b620109 usr/lib/libusc.so.1.9.6.0
+c13043581ff31397cbd8d99bb90ebc74 usr/bin/sgx_init_test
+fb92b49766250b1e11ce5a29630716af usr/bin/xeglinfo
+64faa642abf2c0505d93b3ca45125543 usr/bin/xgles1test1
+1d7cffd200179059504c76b63eacd5f4 usr/bin/xgles2test1
+6a4b0fbc20d74fb77e4ed489129d99b3 usr/bin/xmultiegltest
+407fb4f41499353d947c16d47007e029 usr/lib/libEGL.so.1.9.6.0
+ebfe89b515a40d9bdc0eeb2f041ce5f9 usr/lib/libGLESv1_CM.so.1.9.6.0
+813b708ffd2b3a1e332048fd0823f3a9 usr/lib/libGLESv2.so.1.9.6.0
+66b90d00aeabae85d9404625daf688c5 usr/lib/libIMGegl.so.1.9.6.0
+6200461f1d31d60c855c640786434260 usr/lib/libPVRScopeServices.so.1.9.6.0
+0606004b970618dd0febfa30aee77c7e usr/lib/libglslcompiler.so.1.9.6.0
+eea3ded5a705bae9aa0b5bf1df472cd5 usr/lib/libpvr2d.so.1.9.6.0
+d8e244152bd01c23c0ec77b50f0dacf9 usr/lib/libpvrws_OMAPDRI2.so.1.9.6.0
+ab0ecc15005327a2c2b32c92c0f2f5ea usr/lib/libsrv_init.so.1.9.6.0
+492a4f9e4ad79ec731ac3cf4649d0701 usr/lib/libsrv_um.so.1.9.6.0
+6aafca789aee112dfb2bcbaa7686b2bf usr/lib/libusc.so.1.9.6.0
db1a9b82c1800e75e7401ee9d0497c70 usr/share/X11/xorg.conf.d/99-omap.conf
-15918f54d0121fe351a1e1543ad98b85 usr/share/doc/sgx-lib/changelog.Debian.gz
+0762d5f0faa13178f1eba2ceccfe0314 usr/share/doc/sgx-lib/changelog.Debian.gz
542af8025bb26f9b36a120c00e319748 usr/share/doc/sgx-lib/copyright
diff --git a/fetch-pvr-omap/xserver-xorg-video-omap-pvr-dbg/control b/fetch-pvr-omap/xserver-xorg-video-omap-pvr-dbg/control
index 6d8aa76..7519d34 100644
--- a/fetch-pvr-omap/xserver-xorg-video-omap-pvr-dbg/control
+++ b/fetch-pvr-omap/xserver-xorg-video-omap-pvr-dbg/control
@@ -1,10 +1,10 @@
Package: xserver-xorg-video-omap-pvr-dbg
Source: xf86-video-omap-pvr
-Version: 0.3.4-0ubuntu1
+Version: 0.3.5-0ubuntu50
Architecture: armhf
Maintainer: TI OMAP Developers <tiomap-dev@lists.launchpad.net>
-Installed-Size: 264
-Depends: xserver-xorg-video-omap-pvr (= 0.3.4-0ubuntu1)
+Installed-Size: 300
+Depends: xserver-xorg-video-omap-pvr (= 0.3.5-0ubuntu50)
Conflicts: pvr-omap4-xf86-dbg, xserver-xorg-video-omap-pvr-dbgsym
Replaces: pvr-omap4-xf86-dbg, xserver-xorg-video-omap-pvr-dbgsym
Section: debug
diff --git a/fetch-pvr-omap/xserver-xorg-video-omap-pvr-dbg/md5sums b/fetch-pvr-omap/xserver-xorg-video-omap-pvr-dbg/md5sums
index 0a00caf..6f3859d 100644
--- a/fetch-pvr-omap/xserver-xorg-video-omap-pvr-dbg/md5sums
+++ b/fetch-pvr-omap/xserver-xorg-video-omap-pvr-dbg/md5sums
@@ -1 +1 @@
-cb1e9380c38c5146a9f0e57e25aa9fd8 usr/lib/debug/usr/lib/xorg/modules/drivers/omap_pvr_drv.so
+b69dac86add7853a5a849c846c442aab usr/lib/debug/usr/lib/xorg/modules/drivers/omap_pvr_drv.so
diff --git a/fetch-pvr-omap/xserver-xorg-video-omap-pvr/control b/fetch-pvr-omap/xserver-xorg-video-omap-pvr/control
index 5630c61..c5572b0 100644
--- a/fetch-pvr-omap/xserver-xorg-video-omap-pvr/control
+++ b/fetch-pvr-omap/xserver-xorg-video-omap-pvr/control
@@ -1,10 +1,10 @@
Package: xserver-xorg-video-omap-pvr
Source: xf86-video-omap-pvr
-Version: 0.3.4-0ubuntu1
+Version: 0.3.5-0ubuntu50
Architecture: armhf
Maintainer: TI OMAP Developers <tiomap-dev@lists.launchpad.net>
Installed-Size: 100
-Depends: libc6 (>= 2.15-0ubuntu8), libdrm-omap1 (>= 2.4.26), libdrm2 (>= 2.3.1), libpixman-1-0 (>= 0.13.2), xorg-video-abi-11, xserver-xorg-core (>= 2:1.10.99.901), sgx-lib
+Depends: libc6 (>= 2.15-0ubuntu8), libdrm-omap1 (>= 2.4.33), libdrm2 (>= 2.3.1), xorg-video-abi-13, xserver-xorg-core (>= 2:1.12.99.901), sgx-lib
Conflicts: pvr-omap4-xf86
Replaces: pvr-omap4-xf86
Provides: xorg-driver-video
diff --git a/fetch-pvr-omap/xserver-xorg-video-omap-pvr/md5sums b/fetch-pvr-omap/xserver-xorg-video-omap-pvr/md5sums
index abb14bf..95ee97d 100644
--- a/fetch-pvr-omap/xserver-xorg-video-omap-pvr/md5sums
+++ b/fetch-pvr-omap/xserver-xorg-video-omap-pvr/md5sums
@@ -1,3 +1,3 @@
-5cc323f5d2a5d0b44b588bd0acdba57f usr/lib/xorg/modules/drivers/omap_pvr_drv.so
-9a6d56934e0693f78b55787080782837 usr/share/doc/xserver-xorg-video-omap-pvr/changelog.Debian.gz
+6c1144ac322b5845226cca677258df2e usr/lib/xorg/modules/drivers/omap_pvr_drv.so
+5c8a73e371dfe92992664c480bc22a3e usr/share/doc/xserver-xorg-video-omap-pvr/changelog.Debian.gz
e2f52fd70fc08d7f6decc136ca2b3937 usr/share/doc/xserver-xorg-video-omap-pvr/copyright
diff --git a/sgx/eurasiacon/build/linux2/bits.mk b/sgx/eurasiacon/build/linux2/bits.mk
index 02d7c0b..a1a7eef 100644
--- a/sgx/eurasiacon/build/linux2/bits.mk
+++ b/sgx/eurasiacon/build/linux2/bits.mk
@@ -37,7 +37,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
ifneq ($(filter dumpvar-%,$(MAKECMDGOALS)),)
diff --git a/sgx/eurasiacon/build/linux2/buildvars.mk b/sgx/eurasiacon/build/linux2/buildvars.mk
index 0dd0723..f3f5acc 100644
--- a/sgx/eurasiacon/build/linux2/buildvars.mk
+++ b/sgx/eurasiacon/build/linux2/buildvars.mk
@@ -40,7 +40,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
ifeq ($(BUILD),debug)
diff --git a/sgx/eurasiacon/build/linux2/commands.mk b/sgx/eurasiacon/build/linux2/commands.mk
index 71f1508..e92b237 100644
--- a/sgx/eurasiacon/build/linux2/commands.mk
+++ b/sgx/eurasiacon/build/linux2/commands.mk
@@ -36,7 +36,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
# from-one-* recipes make a thing from one source file, so they use $<. Others
diff --git a/sgx/eurasiacon/build/linux2/common/apis/xorg.mk b/sgx/eurasiacon/build/linux2/common/apis/xorg.mk
index 3901be0..fc87c2f 100644
--- a/sgx/eurasiacon/build/linux2/common/apis/xorg.mk
+++ b/sgx/eurasiacon/build/linux2/common/apis/xorg.mk
@@ -37,7 +37,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
ifeq ($(filter xorg,$(EXCLUDED_APIS)),)
diff --git a/sgx/eurasiacon/build/linux2/common/dridrm.mk b/sgx/eurasiacon/build/linux2/common/dridrm.mk
index 2ae1c89..3792682 100644
--- a/sgx/eurasiacon/build/linux2/common/dridrm.mk
+++ b/sgx/eurasiacon/build/linux2/common/dridrm.mk
@@ -36,7 +36,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
$(eval $(call TunableBothConfigC,SUPPORT_DRI_DRM,))
diff --git a/sgx/eurasiacon/build/linux2/common/omap4.mk b/sgx/eurasiacon/build/linux2/common/omap4.mk
index 256b860..153159a 100644
--- a/sgx/eurasiacon/build/linux2/common/omap4.mk
+++ b/sgx/eurasiacon/build/linux2/common/omap4.mk
@@ -36,7 +36,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
$(eval $(call TunableKernelConfigC,PVR_NO_OMAP_TIMER,))
diff --git a/sgx/eurasiacon/build/linux2/common/omap5.mk b/sgx/eurasiacon/build/linux2/common/omap5.mk
new file mode 100755
index 0000000..b025cce
--- /dev/null
+++ b/sgx/eurasiacon/build/linux2/common/omap5.mk
@@ -0,0 +1,47 @@
+########################################################################### ###
+#@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
+#@License Dual MIT/GPLv2
+#
+# The contents of this file are subject to the MIT license as set out below.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# the GNU General Public License Version 2 ("GPL") in which case the provisions
+# of GPL are applicable instead of those above.
+#
+# If you wish to allow use of your version of this file only under the terms of
+# GPL, and not to allow others to use your version of this file under the terms
+# of the MIT license, indicate your decision by deleting the provisions above
+# and replace them with the notice and other provisions required by GPL as set
+# out in the file called "GPL-COPYING" included in this distribution. If you do
+# not delete the provisions above, a recipient may use your version of this file
+# under the terms of either the MIT license or GPL.
+#
+# This License is also included in this distribution in the file called
+# "MIT-COPYING".
+#
+# EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
+# PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+# BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+# PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
+# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+### ###########################################################################
+
+$(eval $(call TunableKernelConfigC,PVR_NO_OMAP_TIMER,1))
+$(eval $(call TunableKernelConfigC,PVR_OMAPLFB_DONT_USE_FB_PAN_DISPLAY,))
+$(eval $(call TunableKernelConfigC,PVR_OMAPLFB_DRM_FB,))
+$(eval $(call BothConfigC,SGX_FEATURE_MP,1))
+$(eval $(call TunableBothConfigC,SGX_FEATURE_SYSTEM_CACHE,1))
+$(eval $(call BothConfigC,SGX_FEATURE_MP_CORE_COUNT,2))
diff --git a/sgx/eurasiacon/build/linux2/common/opencl.mk b/sgx/eurasiacon/build/linux2/common/opencl.mk
index 8353352..b5f84d4 100644
--- a/sgx/eurasiacon/build/linux2/common/opencl.mk
+++ b/sgx/eurasiacon/build/linux2/common/opencl.mk
@@ -36,6 +36,5 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
diff --git a/sgx/eurasiacon/build/linux2/common/xorg.mk b/sgx/eurasiacon/build/linux2/common/xorg.mk
index 6998893..27c77a3 100644
--- a/sgx/eurasiacon/build/linux2/common/xorg.mk
+++ b/sgx/eurasiacon/build/linux2/common/xorg.mk
@@ -36,7 +36,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
PVR_SECURE_DRM_AUTH_EXPORT := 1
diff --git a/sgx/eurasiacon/build/linux2/common/xorg_test.mk b/sgx/eurasiacon/build/linux2/common/xorg_test.mk
index 281214f..a1b4009 100644
--- a/sgx/eurasiacon/build/linux2/common/xorg_test.mk
+++ b/sgx/eurasiacon/build/linux2/common/xorg_test.mk
@@ -36,7 +36,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
# FIXME: Will go away when SUPPORT_DRI_DRM is untangled from
diff --git a/sgx/eurasiacon/build/linux2/config/core.mk b/sgx/eurasiacon/build/linux2/config/core.mk
index b06052c..aa20e6f 100644
--- a/sgx/eurasiacon/build/linux2/config/core.mk
+++ b/sgx/eurasiacon/build/linux2/config/core.mk
@@ -37,7 +37,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
# Configuration wrapper for new build system. This file deals with
diff --git a/sgx/eurasiacon/build/linux2/defs.mk b/sgx/eurasiacon/build/linux2/defs.mk
index 52abe7d..af9ddf6 100644
--- a/sgx/eurasiacon/build/linux2/defs.mk
+++ b/sgx/eurasiacon/build/linux2/defs.mk
@@ -36,7 +36,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
define must-be-defined
diff --git a/sgx/eurasiacon/build/linux2/kbuild/Makefile.template b/sgx/eurasiacon/build/linux2/kbuild/Makefile.template
index 9506784..cfef1b6 100644
--- a/sgx/eurasiacon/build/linux2/kbuild/Makefile.template
+++ b/sgx/eurasiacon/build/linux2/kbuild/Makefile.template
@@ -37,7 +37,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
# This top-level kbuild makefile builds all the Linux kernel modules in the
diff --git a/sgx/eurasiacon/build/linux2/kbuild/external_tarball.mk b/sgx/eurasiacon/build/linux2/kbuild/external_tarball.mk
index be98380..d3aa147 100644
--- a/sgx/eurasiacon/build/linux2/kbuild/external_tarball.mk
+++ b/sgx/eurasiacon/build/linux2/kbuild/external_tarball.mk
@@ -36,7 +36,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
ifneq ($(EXTERNAL_3PDD_TARBALL),)
diff --git a/sgx/eurasiacon/build/linux2/kbuild/kbuild.mk b/sgx/eurasiacon/build/linux2/kbuild/kbuild.mk
index 96cd9cd..eeaa0ee 100644
--- a/sgx/eurasiacon/build/linux2/kbuild/kbuild.mk
+++ b/sgx/eurasiacon/build/linux2/kbuild/kbuild.mk
@@ -36,7 +36,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
$(if $(strip $(KERNELDIR)),,$(error KERNELDIR must be set))
@@ -63,11 +62,6 @@ kbuild: $(TARGET_OUT)/kbuild/Makefile
EXTRA_CFLAGS="$(ALL_KBUILD_CFLAGS)" \
V=$(V) W=$(W) \
TOP=$(TOP)
-ifeq ($(DEBUGLINK),1)
- @for kernel_module in $(addprefix $(TARGET_OUT)/kbuild/,$(INTERNAL_KBUILD_OBJECTS:.o=.ko)); do \
- $(patsubst @%,%,$(STRIP)) --strip-unneeded $$kernel_module; \
- done
-endif
@for kernel_module in $(addprefix $(TARGET_OUT)/kbuild/,$(INTERNAL_KBUILD_OBJECTS:.o=.ko)); do \
cp $$kernel_module $(TARGET_OUT); \
done
diff --git a/sgx/eurasiacon/build/linux2/kernel_module.mk b/sgx/eurasiacon/build/linux2/kernel_module.mk
index c6a8c36..33c8246 100644
--- a/sgx/eurasiacon/build/linux2/kernel_module.mk
+++ b/sgx/eurasiacon/build/linux2/kernel_module.mk
@@ -36,7 +36,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
# Rules for making kernel modules with kbuild. This makefile doesn't define
diff --git a/sgx/eurasiacon/build/linux2/kernel_version.mk b/sgx/eurasiacon/build/linux2/kernel_version.mk
index 50590a8..35ecceb 100644
--- a/sgx/eurasiacon/build/linux2/kernel_version.mk
+++ b/sgx/eurasiacon/build/linux2/kernel_version.mk
@@ -36,7 +36,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
$(if $(KERNELDIR),,$(error KERNELDIR must be set to obtain a version))
diff --git a/sgx/eurasiacon/build/linux2/moduledefs.mk b/sgx/eurasiacon/build/linux2/moduledefs.mk
index 3e07c5c..869026f 100644
--- a/sgx/eurasiacon/build/linux2/moduledefs.mk
+++ b/sgx/eurasiacon/build/linux2/moduledefs.mk
@@ -36,7 +36,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
MODULE_TARGETS :=
diff --git a/sgx/eurasiacon/build/linux2/modules.mk b/sgx/eurasiacon/build/linux2/modules.mk
index dc33c8c..1576590 100644
--- a/sgx/eurasiacon/build/linux2/modules.mk
+++ b/sgx/eurasiacon/build/linux2/modules.mk
@@ -37,7 +37,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
# Bits for processing $(modules) after reading in each Linux.mk
diff --git a/sgx/eurasiacon/build/linux2/omap4430_linux/Makefile b/sgx/eurasiacon/build/linux2/omap4430_linux/Makefile
index bf9601e..e77a2bc 100644
--- a/sgx/eurasiacon/build/linux2/omap4430_linux/Makefile
+++ b/sgx/eurasiacon/build/linux2/omap4430_linux/Makefile
@@ -37,7 +37,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
PVR_SYSTEM := omap4
diff --git a/sgx/eurasiacon/build/linux2/omap5430_linux/Makefile b/sgx/eurasiacon/build/linux2/omap5430_linux/Makefile
new file mode 100755
index 0000000..206666a
--- /dev/null
+++ b/sgx/eurasiacon/build/linux2/omap5430_linux/Makefile
@@ -0,0 +1,219 @@
+########################################################################### ###
+#@Title Root makefile for OMAP5430 Linux. Builds everything else.
+#@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
+#@License Dual MIT/GPLv2
+#
+# The contents of this file are subject to the MIT license as set out below.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# the GNU General Public License Version 2 ("GPL") in which case the provisions
+# of GPL are applicable instead of those above.
+#
+# If you wish to allow use of your version of this file only under the terms of
+# GPL, and not to allow others to use your version of this file under the terms
+# of the MIT license, indicate your decision by deleting the provisions above
+# and replace them with the notice and other provisions required by GPL as set
+# out in the file called "GPL-COPYING" included in this distribution. If you do
+# not delete the provisions above, a recipient may use your version of this file
+# under the terms of either the MIT license or GPL.
+#
+# This License is also included in this distribution in the file called
+# "MIT-COPYING".
+#
+# EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
+# PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+# BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+# PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
+# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+### ###########################################################################
+
+PVR_SYSTEM := omap5
+
+KERNEL_COMPONENTS := srvkm
+
+# Confirm kernel version with KERNELDIR if supplied, otherwise assume
+# a 2.6.35+ kernel.
+ifneq ($(KERNELDIR),)
+include ../kernel_version.mk
+OMAP_KERNEL_AT_LEAST_2_6_35 := $(shell test $(KERNEL_VERSION) -ge 3 || \
+ test $(KERNEL_VERSION) -ge 2 -a \
+ $(KERNEL_PATCHLEVEL) -ge 6 -a \
+ $(KERNEL_SUBLEVEL) -ge 35 && echo 1 || echo 0)
+else
+OMAP_KERNEL_AT_LEAST_2_6_35 := 1
+endif
+
+include ../common/xorg_test.mk
+
+ifeq ($(want_xorg),1)
+SUPPORT_DRI_DRM := 1
+SUPPORT_DRI_DRM_EXTERNAL := 1
+SUPPORT_BC_EXAMPLE ?= 0
+else
+SUPPORT_BC_EXAMPLE ?= 1
+endif
+
+# Only enable active power management if passive power management is
+# enabled, as indicated by LDM_PLATFORM being set to 1. On OMAP,
+# the system can suspend in the case where active power management is
+# enabled in the SGX driver, but passive power management isn't. As
+# passive power management isn't enabled, the driver won't see the
+# system suspend/resume events, and so won't take appropriate action.
+LDM_PLATFORM ?= 1
+
+ifeq ($(LDM_PLATFORM),1)
+SUPPORT_LINUX_USING_WORKQUEUES := 1
+#DISPLAY_CONTROLLER_COMPONENT += dc_omapdrm_linux
+#DISPLAY_CONTROLLER := omaplfb
+else
+SUPPORT_LINUX_USING_SHARED_WORKQUEUES := 1
+OMAP_NON_FLIP_DISPLAY := 1
+DISPLAY_CONTROLLER_COMPONENT += linux_framebuffer
+DISPLAY_CONTROLLER := pvrlfb
+endif
+
+# When flipping is enabled, the Framebuffer API will be used to
+# present the frames to the display in the 3PDD
+FLIP_TECHNIQUE_FRAMEBUFFER := 1
+
+OPTIM := -Os
+
+SYS_CFLAGS := -march=armv7-a
+
+ifneq ($(CROSS_COMPILE),)
+SYS_CFLAGS += -mtls-dialect=arm
+endif
+
+SUPPORT_OMAP5430_NEON ?= 1
+
+ifeq ($(SUPPORT_OMAP5430_NEON),1)
+SYS_CFLAGS += -ftree-vectorize -mfpu=neon -mfloat-abi=hard
+endif
+
+PVR_NO_FULL_CACHE_OPS := 1
+
+LIBGCC := $(shell $(CROSS_COMPILE)gcc -print-libgcc-file-name)
+
+SGXCORE := 544
+SGX_CORE_REV := 105
+
+SGX_DYNAMIC_TIMING_INFO := 1
+SYS_CUSTOM_POWERLOCK_WRAP := 1
+
+ifeq ($(OMAP_KERNEL_AT_LEAST_2_6_35),1)
+ifeq ($(LDM_PLATFORM),1)
+PVR_LDM_PLATFORM_PRE_REGISTERED := 1
+ifeq ($(call kernel-version-at-least,2,6,35,7),true)
+# Not all variants of the OMAP5 kernel have a DRM based framebuffer.
+# Note that a non-X.Org version of the driver does not have to be built
+# with DRM support if the kernel has a DRM based framebuffer.
+PVR_OMAPLFB_DRM_FB ?= 1
+ifeq ($(PVR_OMAPLFB_DRM_FB),1)
+PVR_LDM_PLATFORM_PRE_REGISTERED_DEV := "\"pvrsrvkm_pvr\""
+# There is already a "pvrsrvkm" driver (part of the DRM framebuffer code),
+# so use the pre-registered device name instead.
+PVR_LDM_DRIVER_REGISTRATION_NAME := "\"pvrsrvkm_pvr"\"
+# The DRM library will not load the Services module on behalf of the X Server,
+# as a DRM module has already been loaded (the DRM based framebuffer), so
+# load the Services module before starting the X Server.
+XORG_EXPLICIT_PVR_SERVICES_LOAD := 1
+else
+PVR_LDM_PLATFORM_PRE_REGISTERED_DEV := "\"pvrsrvkm\""
+endif
+endif
+endif
+endif
+
+BUILD_OPENCL ?= 0
+ifneq ($(BUILD_OPENCL),1)
+EXCLUDED_APIS += opencl
+endif
+
+ifeq ($(want_xorg),1)
+
+ifeq ($(call kernel-version-at-least,2,6,35),true)
+PVR_DRI_DRM_PLATFORM_DEV := 1
+else
+PVR_DRI_DRM_NOT_PCI := 1
+endif
+
+XORG_PREFIX := /usr
+XORG_TOOLCHAIN := extern
+# Note: Xorg N/A for OMAP5.
+#XORG_PVR_CONF := omap4
+#XORG_PVR_VIDEO := omap4
+XF86_VIDEO ?= ti-pvr_video
+
+OPK_DEFAULT := libpvrPVR2D_DRIWSEGL.so
+OPK_FALLBACK := libpvrPVR2D_DRIWSEGL.so
+
+ifneq ($(OMAP_NON_FLIP_DISPLAY),1)
+XORG_PVR_VIDEO ?= $(PVR_SYSTEM)
+PVR_DISPLAY_CONTROLLER_DRM_IOCTL := 1
+endif
+
+else # xorg isn't excluded
+
+ifeq ($(OMAP_NON_FLIP_DISPLAY),1)
+OPK_DEFAULT := libpvrPVR2D_BLITWSEGL.so
+else
+OPK_DEFAULT := libpvrPVR2D_FLIPWSEGL.so
+endif
+OPK_FALLBACK := libpvrPVR2D_BLITWSEGL.so
+
+endif # xorg isn't excluded
+
+ifeq ($(SUPPORT_DRI_DRM),1)
+ifeq ($(PVR_DRI_DRM_NOT_PCI),1)
+KERNEL_COMPONENTS += linux_drm
+EXTRA_KBUILD_SOURCE := $(KERNELDIR)
+endif
+EXTRA_PVRSRVKM_COMPONENTS += $(DISPLAY_CONTROLLER_COMPONENT)
+else
+KERNEL_COMPONENTS += $(DISPLAY_CONTROLLER_COMPONENT)
+endif
+
+SUPPORT_V4L2_GFX ?= 0
+
+SUPPORT_MEMINFO_IDS ?= 1
+
+SUPPORT_MESA_SONAME ?= 1
+
+SUPPORT_MEMINFO_IDS ?= 1
+
+ifeq ($(SUPPORT_V4L2_GFX),1)
+KERNEL_COMPONENTS += v4l2-gfx
+endif
+
+ifeq ($(SUPPORT_BC_EXAMPLE),1)
+KERNEL_COMPONENTS += bufferclass_example
+endif
+
+PVRSRV_MODNAME := omapdrm_pvr
+
+PVRSRV_BUSID := platform:omapdrm:00
+
+include ../config/core.mk
+include ../common/xorg.mk
+include ../common/dridrm.mk
+include ../common/opencl.mk
+include ../common/omap5.mk
+
+# We only need this for pvr_video's includes, which should
+# really be done differently, as DISPLAY_CONTROLLER_DIR is
+# now obsolete..
+#
+$(eval $(call UserConfigMake,DISPLAY_CONTROLLER_DIR,3rdparty/$(DISPLAY_CONTROLLER_COMPONENT)))
diff --git a/sgx/eurasiacon/build/linux2/prepare_tree.mk b/sgx/eurasiacon/build/linux2/prepare_tree.mk
index e69d9af..05e4fe3 100644
--- a/sgx/eurasiacon/build/linux2/prepare_tree.mk
+++ b/sgx/eurasiacon/build/linux2/prepare_tree.mk
@@ -36,7 +36,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
.PHONY: prepare_tree
diff --git a/sgx/eurasiacon/build/linux2/this_makefile.mk b/sgx/eurasiacon/build/linux2/this_makefile.mk
index 0a38c82..c312001 100644
--- a/sgx/eurasiacon/build/linux2/this_makefile.mk
+++ b/sgx/eurasiacon/build/linux2/this_makefile.mk
@@ -36,7 +36,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
# Find out the path of the Linux.mk makefile currently being processed, and
diff --git a/sgx/eurasiacon/build/linux2/tools/cc-check.sh b/sgx/eurasiacon/build/linux2/tools/cc-check.sh
index 0077615..6cef8fa 100755
--- a/sgx/eurasiacon/build/linux2/tools/cc-check.sh
+++ b/sgx/eurasiacon/build/linux2/tools/cc-check.sh
@@ -38,7 +38,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
LANG=C
@@ -84,7 +83,7 @@ log=${ccof}.log
if [ "x$BIT_CHECK" = "x1" ]; then
do_cc $ccof $log ""
- file $ccof | grep -q 64-bit
+ file $ccof | grep 64-bit >/dev/null 2>&1
[ "$?" = "0" ] && echo true || echo false
else
[ "x$1" = "x" ] && usage
diff --git a/sgx/eurasiacon/build/linux2/toplevel.mk b/sgx/eurasiacon/build/linux2/toplevel.mk
index 8a1e7ea..26b1198 100644
--- a/sgx/eurasiacon/build/linux2/toplevel.mk
+++ b/sgx/eurasiacon/build/linux2/toplevel.mk
@@ -36,7 +36,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
# Define the default goal. This masks a previous definition of the default
diff --git a/sgx/include4/dbgdrvif.h b/sgx/include4/dbgdrvif.h
index 987388d..753f8f2 100644
--- a/sgx/include4/dbgdrvif.h
+++ b/sgx/include4/dbgdrvif.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef _DBGDRVIF_
diff --git a/sgx/include4/img_defs.h b/sgx/include4/img_defs.h
index ce84b0e..375ed99 100644
--- a/sgx/include4/img_defs.h
+++ b/sgx/include4/img_defs.h
@@ -39,7 +39,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#if !defined (__IMG_DEFS_H__)
#define __IMG_DEFS_H__
diff --git a/sgx/include4/img_types.h b/sgx/include4/img_types.h
index 91f342d..dbd16e8 100644
--- a/sgx/include4/img_types.h
+++ b/sgx/include4/img_types.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __IMG_TYPES_H__
#define __IMG_TYPES_H__
@@ -75,13 +74,13 @@ typedef signed long IMG_INT32, *IMG_PINT32;
#define IMG_UINT32_MAX 0xFFFFFFFFUL
#endif
-#if defined(USE_CODE)
+#if defined(USE_CODE)
typedef unsigned __int64 IMG_UINT64, *IMG_PUINT64;
typedef __int64 IMG_INT64, *IMG_PINT64;
#else
- #if ((defined(LINUX) || defined(__METAG)) || defined(__QNXNTO__))
+ #if defined(LINUX) || defined(__METAG) || defined (__QNXNTO__)
typedef unsigned long long IMG_UINT64, *IMG_PUINT64;
typedef long long IMG_INT64, *IMG_PINT64;
#else
diff --git a/sgx/include4/pdumpdefs.h b/sgx/include4/pdumpdefs.h
index a680799..112e9ee 100644
--- a/sgx/include4/pdumpdefs.h
+++ b/sgx/include4/pdumpdefs.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#if !defined (__PDUMPDEFS_H__)
#define __PDUMPDEFS_H__
diff --git a/sgx/include4/pvr_debug.h b/sgx/include4/pvr_debug.h
index bc243a1..7e05666 100644
--- a/sgx/include4/pvr_debug.h
+++ b/sgx/include4/pvr_debug.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __PVR_DEBUG_H__
#define __PVR_DEBUG_H__
diff --git a/sgx/include4/pvrmodule.h b/sgx/include4/pvrmodule.h
index 89eaf90..267c7b6 100644
--- a/sgx/include4/pvrmodule.h
+++ b/sgx/include4/pvrmodule.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef _PVRMODULE_H_
diff --git a/sgx/include4/pvrversion.h b/sgx/include4/pvrversion.h
index ff2fc7e..d937c92 100644
--- a/sgx/include4/pvrversion.h
+++ b/sgx/include4/pvrversion.h
@@ -1,4 +1,5 @@
/*************************************************************************/ /*!
+@File
@Title Version numbers and strings.
@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
@Description Version numbers and strings for PVR Consumer services
@@ -39,7 +40,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef _PVRVERSION_H_
@@ -58,7 +58,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define PVRVERSION_FAMILY "sgxddk"
#define PVRVERSION_BRANCHNAME "1.9"
-#define PVRVERSION_BUILD 956766
+#define PVRVERSION_BUILD 2120756
#define PVRVERSION_BSCONTROL "SGX_DDK_Linux_CustomerTI"
#define PVRVERSION_STRING "SGX_DDK_Linux_CustomerTI sgxddk 19 1.9@" PVR_STR2(PVRVERSION_BUILD)
@@ -66,8 +66,8 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define COPYRIGHT_TXT "Copyright (c) Imagination Technologies Ltd. All Rights Reserved."
-#define PVRVERSION_BUILD_HI 95
-#define PVRVERSION_BUILD_LO 6766
+#define PVRVERSION_BUILD_HI 212
+#define PVRVERSION_BUILD_LO 756
#define PVRVERSION_STRING_NUMERIC PVR_STR2(PVRVERSION_MAJ) "." PVR_STR2(PVRVERSION_MIN) "." PVR_STR2(PVRVERSION_BUILD_HI) "." PVR_STR2(PVRVERSION_BUILD_LO)
#endif /* _PVRVERSION_H_ */
diff --git a/sgx/include4/services.h b/sgx/include4/services.h
index d9dc060..0591b66 100644
--- a/sgx/include4/services.h
+++ b/sgx/include4/services.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __SERVICES_H__
@@ -1509,7 +1508,7 @@ static INLINE IMG_VOID PVRSRVPostSemaphore(PVRSRV_SEMAPHORE_HANDLE hSemaphore, I
/* Non-exported APIs */
-#if (defined(DEBUG) && (defined(__linux__) || defined(__QNXNTO__)))
+#if defined(DEBUG) && (defined(__linux__) || defined(__QNXNTO__) )
IMG_IMPORT IMG_PVOID IMG_CALLCONV PVRSRVAllocUserModeMemTracking(IMG_SIZE_T ui32Size, IMG_CHAR *pszFileName, IMG_UINT32 ui32LineNumber);
IMG_IMPORT IMG_PVOID IMG_CALLCONV PVRSRVCallocUserModeMemTracking(IMG_SIZE_T ui32Size, IMG_CHAR *pszFileName, IMG_UINT32 ui32LineNumber);
diff --git a/sgx/include4/servicesext.h b/sgx/include4/servicesext.h
index 62261ed..80df117 100644
--- a/sgx/include4/servicesext.h
+++ b/sgx/include4/servicesext.h
@@ -39,7 +39,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#if !defined (__SERVICESEXT_H__)
diff --git a/sgx/include4/sgx_options.h b/sgx/include4/sgx_options.h
index c086d04..619e6e7 100644
--- a/sgx/include4/sgx_options.h
+++ b/sgx/include4/sgx_options.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
/* Each build option listed here is packed into a dword which
diff --git a/sgx/include4/sgxapi_km.h b/sgx/include4/sgxapi_km.h
index 7002f3a..bb8776a 100644
--- a/sgx/include4/sgxapi_km.h
+++ b/sgx/include4/sgxapi_km.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __SGXAPI_KM_H__
@@ -118,7 +117,7 @@ extern "C" {
/* note: there is implicitly 1 3D Dst Sync */
#else
/* sync info structure array size */
-#define SGX_MAX_SRC_SYNCS_TA 8
+#define SGX_MAX_SRC_SYNCS_TA 32
#define SGX_MAX_DST_SYNCS_TA 1
/* note: there is implicitly 1 3D Dst Sync */
#define SGX_MAX_SRC_SYNCS_TQ 8
diff --git a/sgx/include4/sgxscript.h b/sgx/include4/sgxscript.h
index f08f60a..46b89d2 100644
--- a/sgx/include4/sgxscript.h
+++ b/sgx/include4/sgxscript.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __SGXSCRIPT_H__
#define __SGXSCRIPT_H__
diff --git a/sgx/services4/3rdparty/bufferclass_example/Kbuild.mk b/sgx/services4/3rdparty/bufferclass_example/Kbuild.mk
index 24e6188..8f5720e 100644
--- a/sgx/services4/3rdparty/bufferclass_example/Kbuild.mk
+++ b/sgx/services4/3rdparty/bufferclass_example/Kbuild.mk
@@ -36,7 +36,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
ccflags-y += -I$(TOP)/services4/3rdparty/bufferclass_example
diff --git a/sgx/services4/3rdparty/bufferclass_example/Linux.mk b/sgx/services4/3rdparty/bufferclass_example/Linux.mk
index 757eaf8..f2e44a6 100644
--- a/sgx/services4/3rdparty/bufferclass_example/Linux.mk
+++ b/sgx/services4/3rdparty/bufferclass_example/Linux.mk
@@ -36,7 +36,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
modules := bufferclass_example
diff --git a/sgx/services4/3rdparty/bufferclass_example/bufferclass_example.c b/sgx/services4/3rdparty/bufferclass_example/bufferclass_example.c
index e39a372..2669888 100644
--- a/sgx/services4/3rdparty/bufferclass_example/bufferclass_example.c
+++ b/sgx/services4/3rdparty/bufferclass_example/bufferclass_example.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
/**************************************************************************
diff --git a/sgx/services4/3rdparty/bufferclass_example/bufferclass_example.h b/sgx/services4/3rdparty/bufferclass_example/bufferclass_example.h
index ba53010..4cdeb39 100644
--- a/sgx/services4/3rdparty/bufferclass_example/bufferclass_example.h
+++ b/sgx/services4/3rdparty/bufferclass_example/bufferclass_example.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __BC_EXAMPLE_H__
#define __BC_EXAMPLE_H__
diff --git a/sgx/services4/3rdparty/bufferclass_example/bufferclass_example_linux.c b/sgx/services4/3rdparty/bufferclass_example/bufferclass_example_linux.c
index d0dc13a..90d25c8 100644
--- a/sgx/services4/3rdparty/bufferclass_example/bufferclass_example_linux.c
+++ b/sgx/services4/3rdparty/bufferclass_example/bufferclass_example_linux.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
/**************************************************************************
diff --git a/sgx/services4/3rdparty/bufferclass_example/bufferclass_example_linux.h b/sgx/services4/3rdparty/bufferclass_example/bufferclass_example_linux.h
index 6496275..65d7860 100644
--- a/sgx/services4/3rdparty/bufferclass_example/bufferclass_example_linux.h
+++ b/sgx/services4/3rdparty/bufferclass_example/bufferclass_example_linux.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __BC_EXAMPLE_LINUX_H__
#define __BC_EXAMPLE_LINUX_H__
diff --git a/sgx/services4/3rdparty/bufferclass_example/bufferclass_example_private.c b/sgx/services4/3rdparty/bufferclass_example/bufferclass_example_private.c
index 601d46d..d9dbfde 100644
--- a/sgx/services4/3rdparty/bufferclass_example/bufferclass_example_private.c
+++ b/sgx/services4/3rdparty/bufferclass_example/bufferclass_example_private.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
/**************************************************************************
diff --git a/sgx/services4/3rdparty/bufferclass_example/bufferclass_example_private.h b/sgx/services4/3rdparty/bufferclass_example/bufferclass_example_private.h
index 000a239..8d95e2b 100644
--- a/sgx/services4/3rdparty/bufferclass_example/bufferclass_example_private.h
+++ b/sgx/services4/3rdparty/bufferclass_example/bufferclass_example_private.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef _BUFFERCLASS_EXAMPLE_PRIVATE_H_
diff --git a/sgx/services4/3rdparty/dc_omapfb3_linux/3rdparty_dc_drm_shared.h b/sgx/services4/3rdparty/dc_omapfb3_linux/3rdparty_dc_drm_shared.h
index addbfc2..b522c41 100644
--- a/sgx/services4/3rdparty/dc_omapfb3_linux/3rdparty_dc_drm_shared.h
+++ b/sgx/services4/3rdparty/dc_omapfb3_linux/3rdparty_dc_drm_shared.h
@@ -39,7 +39,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __3RDPARTY_DC_DRM_SHARED_H__
#define __3RDPARTY_DC_DRM_SHARED_H__
diff --git a/sgx/services4/3rdparty/dc_omapfb3_linux/Kbuild.mk b/sgx/services4/3rdparty/dc_omapfb3_linux/Kbuild.mk
index eca9351..7f4fd99 100644
--- a/sgx/services4/3rdparty/dc_omapfb3_linux/Kbuild.mk
+++ b/sgx/services4/3rdparty/dc_omapfb3_linux/Kbuild.mk
@@ -36,7 +36,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
ccflags-y += \
diff --git a/sgx/services4/3rdparty/dc_omapfb3_linux/Linux.mk b/sgx/services4/3rdparty/dc_omapfb3_linux/Linux.mk
index 7574073..75d11a9 100644
--- a/sgx/services4/3rdparty/dc_omapfb3_linux/Linux.mk
+++ b/sgx/services4/3rdparty/dc_omapfb3_linux/Linux.mk
@@ -36,7 +36,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
modules := dc_omapfb3_linux
diff --git a/sgx/services4/3rdparty/dc_omapfb3_linux/omaplfb.h b/sgx/services4/3rdparty/dc_omapfb3_linux/omaplfb.h
index c69640d..804695b 100644
--- a/sgx/services4/3rdparty/dc_omapfb3_linux/omaplfb.h
+++ b/sgx/services4/3rdparty/dc_omapfb3_linux/omaplfb.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __OMAPLFB_H__
#define __OMAPLFB_H__
diff --git a/sgx/services4/3rdparty/dc_omapfb3_linux/omaplfb_displayclass.c b/sgx/services4/3rdparty/dc_omapfb3_linux/omaplfb_displayclass.c
index 2b3fb62..5698a80 100644
--- a/sgx/services4/3rdparty/dc_omapfb3_linux/omaplfb_displayclass.c
+++ b/sgx/services4/3rdparty/dc_omapfb3_linux/omaplfb_displayclass.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
/**************************************************************************
diff --git a/sgx/services4/3rdparty/dc_omapfb3_linux/omaplfb_linux.c b/sgx/services4/3rdparty/dc_omapfb3_linux/omaplfb_linux.c
index 255b5ae..82c7fce 100644
--- a/sgx/services4/3rdparty/dc_omapfb3_linux/omaplfb_linux.c
+++ b/sgx/services4/3rdparty/dc_omapfb3_linux/omaplfb_linux.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
/**************************************************************************
@@ -272,6 +271,9 @@ static void WorkQueueHandler(struct work_struct *psWork)
OMAPLFB_ERROR OMAPLFBCreateSwapQueue(OMAPLFB_SWAPCHAIN *psSwapChain)
{
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
+#if (LINUX_VERSION_CODE == KERNEL_VERSION(2,6,37))
+#define WQ_FREEZABLE WQ_FREEZEABLE
+#endif
/*
* Calling alloc_ordered_workqueue with the WQ_FREEZABLE and
* WQ_MEM_RECLAIM flags set, (currently) has the same effect as
diff --git a/sgx/services4/3rdparty/linux_drm/Kbuild.mk b/sgx/services4/3rdparty/linux_drm/Kbuild.mk
index 33d2770..c2448e7 100644
--- a/sgx/services4/3rdparty/linux_drm/Kbuild.mk
+++ b/sgx/services4/3rdparty/linux_drm/Kbuild.mk
@@ -36,7 +36,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
$(call must-be-defined,$(SUPPORT_DRI_DRM))
diff --git a/sgx/services4/3rdparty/linux_drm/Linux.mk b/sgx/services4/3rdparty/linux_drm/Linux.mk
index 45fc9d9..80733c5 100644
--- a/sgx/services4/3rdparty/linux_drm/Linux.mk
+++ b/sgx/services4/3rdparty/linux_drm/Linux.mk
@@ -36,7 +36,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
modules := linux_drm
diff --git a/sgx/services4/3rdparty/linux_drm/pvr_drm_mod.h b/sgx/services4/3rdparty/linux_drm/pvr_drm_mod.h
index 0fb5f9c..096f11f 100644
--- a/sgx/services4/3rdparty/linux_drm/pvr_drm_mod.h
+++ b/sgx/services4/3rdparty/linux_drm/pvr_drm_mod.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __PVR_DRM_MOD_H__
diff --git a/sgx/services4/3rdparty/linux_drm/pvr_drm_stubs.c b/sgx/services4/3rdparty/linux_drm/pvr_drm_stubs.c
index 2f1b625..aad9263 100644
--- a/sgx/services4/3rdparty/linux_drm/pvr_drm_stubs.c
+++ b/sgx/services4/3rdparty/linux_drm/pvr_drm_stubs.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
/*
diff --git a/sgx/services4/include/env/linux/pvr_drm_shared.h b/sgx/services4/include/env/linux/pvr_drm_shared.h
index 770dc54..98d6a58 100644
--- a/sgx/services4/include/env/linux/pvr_drm_shared.h
+++ b/sgx/services4/include/env/linux/pvr_drm_shared.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#if !defined(__PVR_DRM_SHARED_H__)
#define __PVR_DRM_SHARED_H__
diff --git a/sgx/services4/include/kernelbuffer.h b/sgx/services4/include/kernelbuffer.h
index 8de5a98..6d8aed5 100644
--- a/sgx/services4/include/kernelbuffer.h
+++ b/sgx/services4/include/kernelbuffer.h
@@ -39,7 +39,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#if !defined (__KERNELBUFFER_H__)
diff --git a/sgx/services4/include/kerneldisplay.h b/sgx/services4/include/kerneldisplay.h
index acb719a..dbaf126 100644
--- a/sgx/services4/include/kerneldisplay.h
+++ b/sgx/services4/include/kerneldisplay.h
@@ -39,7 +39,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#if !defined (__KERNELDISPLAY_H__)
diff --git a/sgx/services4/include/pdump.h b/sgx/services4/include/pdump.h
index b6625a2..566a118 100644
--- a/sgx/services4/include/pdump.h
+++ b/sgx/services4/include/pdump.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef _SERVICES_PDUMP_H_
#define _SERVICES_PDUMP_H_
diff --git a/sgx/services4/include/pvr_bridge.h b/sgx/services4/include/pvr_bridge.h
index 1d2a0b2..bf7e3ac 100644
--- a/sgx/services4/include/pvr_bridge.h
+++ b/sgx/services4/include/pvr_bridge.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __PVR_BRIDGE_H__
@@ -67,7 +66,7 @@ extern "C" {
#else /* __linux__ */
- #if defined(__QNXNTO__)
+ #if defined(__QNXNTO__)
#define PVRSRV_IOC_GID (0x0UL)
#else
#error Unknown platform: Cannot define ioctls
diff --git a/sgx/services4/include/pvr_bridge_km.h b/sgx/services4/include/pvr_bridge_km.h
index 4bed88f..eb3f38b 100644
--- a/sgx/services4/include/pvr_bridge_km.h
+++ b/sgx/services4/include/pvr_bridge_km.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __PVR_BRIDGE_KM_H_
diff --git a/sgx/services4/include/pvrmmap.h b/sgx/services4/include/pvrmmap.h
index 50faa26..1a3930c 100644
--- a/sgx/services4/include/pvrmmap.h
+++ b/sgx/services4/include/pvrmmap.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __PVRMMAP_H__
#define __PVRMMAP_H__
diff --git a/sgx/services4/include/pvrsrv_errors.h b/sgx/services4/include/pvrsrv_errors.h
index 57d47cc..2e95810 100644
--- a/sgx/services4/include/pvrsrv_errors.h
+++ b/sgx/services4/include/pvrsrv_errors.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#if !defined (__PVRSRV_ERRORS_H__)
diff --git a/sgx/services4/include/servicesint.h b/sgx/services4/include/servicesint.h
index 956d106..32e19f9 100644
--- a/sgx/services4/include/servicesint.h
+++ b/sgx/services4/include/servicesint.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#if !defined (__SERVICESINT_H__)
diff --git a/sgx/services4/include/sgx_bridge.h b/sgx/services4/include/sgx_bridge.h
index 7f35fc1..33b27e3 100644
--- a/sgx/services4/include/sgx_bridge.h
+++ b/sgx/services4/include/sgx_bridge.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#if !defined(__SGX_BRIDGE_H__)
diff --git a/sgx/services4/include/sgx_mkif_km.h b/sgx/services4/include/sgx_mkif_km.h
index 7e15a10..3a9866f 100644
--- a/sgx/services4/include/sgx_mkif_km.h
+++ b/sgx/services4/include/sgx_mkif_km.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#if !defined (__SGX_MKIF_KM_H__)
diff --git a/sgx/services4/include/sgx_ukernel_status_codes.h b/sgx/services4/include/sgx_ukernel_status_codes.h
index 5045d27..dc8f2f3 100644
--- a/sgx/services4/include/sgx_ukernel_status_codes.h
+++ b/sgx/services4/include/sgx_ukernel_status_codes.h
@@ -39,7 +39,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __SGX_UKERNEL_STATUS_CODES_H__
@@ -151,6 +150,10 @@ MKTC_ST(MKTC_CRRL_READOPS2BLOCKED)
MKTC_ST(MKTC_CRRL_SRC_WRITEOPSBLOCKED)
#define MKTC_CRRL_SRC_READOPSBLOCKED 0xAD000310
MKTC_ST(MKTC_CRRL_SRC_READOPSBLOCKED)
+#define MKTC_CRRL_TQ_WRITEOPSBLOCKED 0xAD000311
+MKTC_ST(MKTC_CRRL_TQ_WRITEOPSBLOCKED)
+#define MKTC_CRRL_TQ_READOPSBLOCKED 0xAD000312
+MKTC_ST(MKTC_CRRL_TQ_READOPSBLOCKED)
#define MKTC_KICKRENDER_START 0xAD000400
MKTC_ST(MKTC_KICKRENDER_START)
@@ -330,6 +333,8 @@ MKTC_ST(MKTC_HWR_TRL_DP)
MKTC_ST(MKTC_HWR_ISC)
#define MKTC_HWR_2DL 0xAD000B0A
MKTC_ST(MKTC_HWR_2DL)
+#define MKTC_HWR_CLEANUP 0xAD000B0B
+MKTC_ST(MKTC_HWR_CLEANUP)
#define MKTC_URSV_START 0xAD000C00
MKTC_ST(MKTC_URSV_START)
@@ -406,6 +411,10 @@ MKTC_ST(MKTC_CTRL_TARC_DIFFERENT)
MKTC_ST(MKTC_CTRL_CONTEXT_SUSPENDED)
#define MKTC_CTRL_SRCREADOPS2BLOCKED 0xAD000F06
MKTC_ST(MKTC_CTRL_SRCREADOPS2BLOCKED)
+#define MKTC_CTRL_3D_WRITEOPSBLOCKED 0xAD000F07
+MKTC_ST(MKTC_CTRL_3D_WRITEOPSBLOCKED)
+#define MKTC_CTRL_3D_READOPSBLOCKED 0xAD000F08
+MKTC_ST(MKTC_CTRL_3D_READOPSBLOCKED)
#define MKTC_DPTA_START 0xAD001000
MKTC_ST(MKTC_DPTA_START)
diff --git a/sgx/services4/include/sgxinfo.h b/sgx/services4/include/sgxinfo.h
index 7340265..17f6d95 100644
--- a/sgx/services4/include/sgxinfo.h
+++ b/sgx/services4/include/sgxinfo.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#if !defined (__SGXINFO_H__)
#define __SGXINFO_H__
@@ -292,7 +291,7 @@ typedef struct _SGX_CCB_KICK_
#endif
IMG_BOOL bFirstKickOrResume;
-#if (defined(NO_HARDWARE) || defined(PDUMP))
+#if defined(NO_HARDWARE) || defined(PDUMP)
IMG_BOOL bTerminateOrAbort;
#endif
IMG_BOOL bLastInScene;
diff --git a/sgx/services4/srvkm/bridged/bridged_pvr_bridge.c b/sgx/services4/srvkm/bridged/bridged_pvr_bridge.c
index f933477..f75e70f 100644
--- a/sgx/services4/srvkm/bridged/bridged_pvr_bridge.c
+++ b/sgx/services4/srvkm/bridged/bridged_pvr_bridge.c
@@ -39,7 +39,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
@@ -4292,6 +4291,10 @@ PVRSRVInitSrvDisconnectBW(IMG_UINT32 ui32BridgeID,
psPerProc->bInitProcess = IMG_FALSE;
+#if defined(SUPPORT_PDUMP_MULTI_PROCESS)
+ psPerProc->bPDumpActive = IMG_FALSE;
+#endif
+
PVRSRVSetInitServerState(PVRSRV_INIT_SERVER_RUNNING, IMG_FALSE);
PVRSRVSetInitServerState(PVRSRV_INIT_SERVER_RAN, IMG_TRUE);
@@ -5114,7 +5117,7 @@ PVRSRVAllocSyncInfoBW(IMG_UINT32 ui32Bri
RESMAN_TYPE_SYNC_INFO,
psSyncInfo,
0,
- FreeSyncInfoCallback);
+ &FreeSyncInfoCallback);
/* Success */
goto allocsyncinfo_commit;
diff --git a/sgx/services4/srvkm/bridged/bridged_pvr_bridge.h b/sgx/services4/srvkm/bridged/bridged_pvr_bridge.h
index 131cecd..b0145f7 100644
--- a/sgx/services4/srvkm/bridged/bridged_pvr_bridge.h
+++ b/sgx/services4/srvkm/bridged/bridged_pvr_bridge.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __BRIDGED_PVR_BRIDGE_H__
diff --git a/sgx/services4/srvkm/bridged/bridged_support.c b/sgx/services4/srvkm/bridged/bridged_support.c
index bd17e91..25baf29 100644
--- a/sgx/services4/srvkm/bridged/bridged_support.c
+++ b/sgx/services4/srvkm/bridged/bridged_support.c
@@ -40,7 +40,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include "img_defs.h"
diff --git a/sgx/services4/srvkm/bridged/bridged_support.h b/sgx/services4/srvkm/bridged/bridged_support.h
index 9cd80f5..04d5168 100644
--- a/sgx/services4/srvkm/bridged/bridged_support.h
+++ b/sgx/services4/srvkm/bridged/bridged_support.h
@@ -40,7 +40,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __BRIDGED_SUPPORT_H__
diff --git a/sgx/services4/srvkm/bridged/sgx/bridged_sgx_bridge.c b/sgx/services4/srvkm/bridged/sgx/bridged_sgx_bridge.c
index 625705b..fd0b2d7 100644
--- a/sgx/services4/srvkm/bridged/sgx/bridged_sgx_bridge.c
+++ b/sgx/services4/srvkm/bridged/sgx/bridged_sgx_bridge.c
@@ -39,7 +39,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
@@ -591,7 +590,7 @@ SGXDoKickBW(IMG_UINT32 ui32BridgeID,
sCCBKickKM.ui32CCBOffset = psDoKickIN->sCCBKick.ui32CCBOffset;
sCCBKickKM.bTADependency = psDoKickIN->sCCBKick.bTADependency;
-#if (defined(NO_HARDWARE) || defined(PDUMP))
+#if defined(NO_HARDWARE) || defined(PDUMP)
sCCBKickKM.bTerminateOrAbort = psDoKickIN->sCCBKick.bTerminateOrAbort;
#endif
#if defined(PDUMP)
@@ -1353,6 +1352,7 @@ SGXDevInitPart2BW(IMG_UINT32 ui32BridgeID,
PVRSRV_HANDLE_TYPE_MEM_INFO);
if (eError != PVRSRV_OK)
{
+ PVR_DPF((PVR_DBG_ERROR, "SGXDevInitPart2BW: Failed to look up HWPerf meminfo (possibly due to SUPPORT_SGX_HWPERF option mismatch)"));
bLookupFailed = IMG_TRUE;
}
#endif
@@ -1537,7 +1537,7 @@ SGXDevInitPart2BW(IMG_UINT32 ui32BridgeID,
if (bLookupFailed)
{
- PVR_DPF((PVR_DBG_ERROR, "DevInitSGXPart2BW: A handle lookup failed"));
+ PVR_DPF((PVR_DBG_ERROR, "SGXDevInitPart2BW: A handle lookup failed"));
psSGXDevInitPart2OUT->eError = PVRSRV_ERROR_INIT2_PHASE_FAILED;
return 0;
}
@@ -1900,7 +1900,7 @@ SGXDevInitPart2BW(IMG_UINT32 ui32BridgeID,
if (bReleaseFailed)
{
- PVR_DPF((PVR_DBG_ERROR, "DevInitSGXPart2BW: A handle release failed"));
+ PVR_DPF((PVR_DBG_ERROR, "SGXDevInitPart2BW: A handle release failed"));
psSGXDevInitPart2OUT->eError = PVRSRV_ERROR_INIT2_PHASE_FAILED;
/*
* Given that we checked the handles before release, a release
@@ -2223,7 +2223,7 @@ SGXDevInitPart2BW(IMG_UINT32 ui32BridgeID,
}
- PVR_DPF((PVR_DBG_ERROR, "DevInitSGXPart2BW: A dissociate failed"));
+ PVR_DPF((PVR_DBG_ERROR, "SGXDevInitPart2BW: A dissociate failed"));
psSGXDevInitPart2OUT->eError = PVRSRV_ERROR_INIT2_PHASE_FAILED;
diff --git a/sgx/services4/srvkm/bridged/sgx/bridged_sgx_bridge.h b/sgx/services4/srvkm/bridged/sgx/bridged_sgx_bridge.h
index 02ea7c4..3cb6282 100644
--- a/sgx/services4/srvkm/bridged/sgx/bridged_sgx_bridge.h
+++ b/sgx/services4/srvkm/bridged/sgx/bridged_sgx_bridge.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __BRIDGED_SGX_BRIDGE_H__
diff --git a/sgx/services4/srvkm/common/buffer_manager.c b/sgx/services4/srvkm/common/buffer_manager.c
index 45d63b4..46b58ef 100644
--- a/sgx/services4/srvkm/common/buffer_manager.c
+++ b/sgx/services4/srvkm/common/buffer_manager.c
@@ -39,7 +39,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include "services_headers.h"
diff --git a/sgx/services4/srvkm/common/deviceclass.c b/sgx/services4/srvkm/common/deviceclass.c
index 9ec4570..31dec1f 100644
--- a/sgx/services4/srvkm/common/deviceclass.c
+++ b/sgx/services4/srvkm/common/deviceclass.c
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include "services_headers.h"
diff --git a/sgx/services4/srvkm/common/deviceid.h b/sgx/services4/srvkm/common/deviceid.h
index e4f0b4c..1cf9f0f 100644
--- a/sgx/services4/srvkm/common/deviceid.h
+++ b/sgx/services4/srvkm/common/deviceid.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __DEVICEID_H__
diff --git a/sgx/services4/srvkm/common/devicemem.c b/sgx/services4/srvkm/common/devicemem.c
index e193396..dd90c3f 100644
--- a/sgx/services4/srvkm/common/devicemem.c
+++ b/sgx/services4/srvkm/common/devicemem.c
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include <stddef.h>
diff --git a/sgx/services4/srvkm/common/handle.c b/sgx/services4/srvkm/common/handle.c
index f71e67b..8a866c2 100644
--- a/sgx/services4/srvkm/common/handle.c
+++ b/sgx/services4/srvkm/common/handle.c
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#if defined(PVR_SECURE_HANDLES) || defined (SUPPORT_SID_INTERFACE)
diff --git a/sgx/services4/srvkm/common/hash.c b/sgx/services4/srvkm/common/hash.c
index a3791fa..1569425 100644
--- a/sgx/services4/srvkm/common/hash.c
+++ b/sgx/services4/srvkm/common/hash.c
@@ -1,6 +1,12 @@
/*************************************************************************/ /*!
@Title Self scaling hash tables.
@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
+@Description
+ Implements simple self scaling hash tables. Hash collisions are
+ handled by chaining entries together. Hash tables are increased in
+ size when they become more than (50%?) full and decreased in size
+ when less than (25%?) full. Hash tables are never decreased below
+ their initial size.
@License Dual MIT/GPLv2
The contents of this file are subject to the MIT license as set out below.
@@ -37,13 +43,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-@Description
- Implements simple self scaling hash tables. Hash collisions are
- handled by chaining entries together. Hash tables are increased in
- size when they become more than (50%?) full and decreased in size
- when less than (25%?) full. Hash tables are never decreased below
- their initial size.
*/ /**************************************************************************/
#include "pvr_debug.h"
diff --git a/sgx/services4/srvkm/common/lists.c b/sgx/services4/srvkm/common/lists.c
index 038cab1..c6e1ee8 100644
--- a/sgx/services4/srvkm/common/lists.c
+++ b/sgx/services4/srvkm/common/lists.c
@@ -39,7 +39,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include "lists.h"
#include "services_headers.h"
diff --git a/sgx/services4/srvkm/common/mem.c b/sgx/services4/srvkm/common/mem.c
index 3f8286b..cccdd24 100644
--- a/sgx/services4/srvkm/common/mem.c
+++ b/sgx/services4/srvkm/common/mem.c
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include "services_headers.h"
diff --git a/sgx/services4/srvkm/common/mem_debug.c b/sgx/services4/srvkm/common/mem_debug.c
index 6b49db0..04432b1 100644
--- a/sgx/services4/srvkm/common/mem_debug.c
+++ b/sgx/services4/srvkm/common/mem_debug.c
@@ -39,7 +39,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef MEM_DEBUG_C
diff --git a/sgx/services4/srvkm/common/metrics.c b/sgx/services4/srvkm/common/metrics.c
index e9f459a..7370ec1 100644
--- a/sgx/services4/srvkm/common/metrics.c
+++ b/sgx/services4/srvkm/common/metrics.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include "services_headers.h"
@@ -142,7 +141,6 @@ IMG_VOID PVRSRVSetupMetricTimers(IMG_VOID *pvDevInfo)
asTimers[ui32Loop].ui32Count = 0;
}
-
#if defined(__sh__)
/* timer control register */
@@ -164,7 +162,6 @@ IMG_VOID PVRSRVSetupMetricTimers(IMG_VOID *pvDevInfo)
pui32TimerRegister = 0;
#endif /* defined(__sh__) */
-
}
diff --git a/sgx/services4/srvkm/common/osfunc_common.c b/sgx/services4/srvkm/common/osfunc_common.c
index 99d4928..19ba9ea 100644
--- a/sgx/services4/srvkm/common/osfunc_common.c
+++ b/sgx/services4/srvkm/common/osfunc_common.c
@@ -39,7 +39,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include "img_types.h"
diff --git a/sgx/services4/srvkm/common/pdump_common.c b/sgx/services4/srvkm/common/pdump_common.c
index bb10f03..2d96dc3 100644
--- a/sgx/services4/srvkm/common/pdump_common.c
+++ b/sgx/services4/srvkm/common/pdump_common.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#if defined(PDUMP)
diff --git a/sgx/services4/srvkm/common/perproc.c b/sgx/services4/srvkm/common/perproc.c
index f228828..3918bb2 100644
--- a/sgx/services4/srvkm/common/perproc.c
+++ b/sgx/services4/srvkm/common/perproc.c
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include "services_headers.h"
@@ -322,13 +321,13 @@ IMG_VOID PVRSRVPerProcessDataDisconnect(IMG_UINT32 ui32PID)
PVR_DPF((PVR_DBG_MESSAGE, "PVRSRVPerProcessDataDisconnect: "
"Last close from process 0x%x received", ui32PID));
+ /* Close the Resource Manager connection */
+ PVRSRVResManDisconnect(psPerProc->hResManContext, IMG_FALSE);
+
#if defined (TTRACE)
PVRSRVTimeTraceBufferDestroy(ui32PID);
#endif
- /* Close the Resource Manager connection */
- PVRSRVResManDisconnect(psPerProc->hResManContext, IMG_FALSE);
-
/* Free the per-process data */
eError = FreePerProcessData(psPerProc);
if (eError != PVRSRV_OK)
diff --git a/sgx/services4/srvkm/common/power.c b/sgx/services4/srvkm/common/power.c
index 93661ed..511a690 100644
--- a/sgx/services4/srvkm/common/power.c
+++ b/sgx/services4/srvkm/common/power.c
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include "services_headers.h"
diff --git a/sgx/services4/srvkm/common/pvrsrv.c b/sgx/services4/srvkm/common/pvrsrv.c
index b9c3253..817df73 100644
--- a/sgx/services4/srvkm/common/pvrsrv.c
+++ b/sgx/services4/srvkm/common/pvrsrv.c
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include <linux/slab.h>
@@ -730,9 +729,7 @@ PVRSRV_ERROR IMG_CALLCONV PVRSRVFinaliseSystem(IMG_BOOL bInitSuccessful)
}
/* Some platforms call this too early in the boot phase. */
-#if !defined(__QNXNTO__)
PDUMPENDINITPHASE();
-#endif
return PVRSRV_OK;
}
diff --git a/sgx/services4/srvkm/common/queue.c b/sgx/services4/srvkm/common/queue.c
index 762c952..0cfcbff 100644
--- a/sgx/services4/srvkm/common/queue.c
+++ b/sgx/services4/srvkm/common/queue.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include "services_headers.h"
diff --git a/sgx/services4/srvkm/common/ra.c b/sgx/services4/srvkm/common/ra.c
index 819c36a..a2a13ab 100644
--- a/sgx/services4/srvkm/common/ra.c
+++ b/sgx/services4/srvkm/common/ra.c
@@ -1,43 +1,6 @@
/*************************************************************************/ /*!
@Title Resource Allocator
@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
-@License Dual MIT/GPLv2
-
-The contents of this file are subject to the MIT license as set out below.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-Alternatively, the contents of this file may be used under the terms of
-the GNU General Public License Version 2 ("GPL") in which case the provisions
-of GPL are applicable instead of those above.
-
-If you wish to allow use of your version of this file only under the terms of
-GPL, and not to allow others to use your version of this file under the terms
-of the MIT license, indicate your decision by deleting the provisions above
-and replace them with the notice and other provisions required by GPL as set
-out in the file called "GPL-COPYING" included in this distribution. If you do
-not delete the provisions above, a recipient may use your version of this file
-under the terms of either the MIT license or GPL.
-
-This License is also included in this distribution in the file called
-"MIT-COPYING".
-
-EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
-PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
-BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
@Description
Implements generic resource allocation. The resource
allocator was originally intended to manage address spaces in
@@ -78,6 +41,42 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
zero span, 'span' markers. Span markers are never coallesced. Span
markers are used to detect when an imported span is completely free
and can be deallocated by the callback mechanism.
+@License Dual MIT/GPLv2
+
+The contents of this file are subject to the MIT license as set out below.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+Alternatively, the contents of this file may be used under the terms of
+the GNU General Public License Version 2 ("GPL") in which case the provisions
+of GPL are applicable instead of those above.
+
+If you wish to allow use of your version of this file only under the terms of
+GPL, and not to allow others to use your version of this file under the terms
+of the MIT license, indicate your decision by deleting the provisions above
+and replace them with the notice and other provisions required by GPL as set
+out in the file called "GPL-COPYING" included in this distribution. If you do
+not delete the provisions above, a recipient may use your version of this file
+under the terms of either the MIT license or GPL.
+
+This License is also included in this distribution in the file called
+"MIT-COPYING".
+
+EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
+PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/ /**************************************************************************/
/* Issues:
diff --git a/sgx/services4/srvkm/common/refcount.c b/sgx/services4/srvkm/common/refcount.c
index 480428a..fa64b23 100644
--- a/sgx/services4/srvkm/common/refcount.c
+++ b/sgx/services4/srvkm/common/refcount.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#if defined(PVRSRV_REFCOUNT_DEBUG)
@@ -49,10 +48,15 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define PVRSRV_LOCK_CCB()
#define PVRSRV_UNLOCK_CCB()
#else /* __linux__ */
-#include <linux/mutex.h>
-static DEFINE_MUTEX(gsCCBLock);
-#define PVRSRV_LOCK_CCB() mutex_lock(&gsCCBLock)
-#define PVRSRV_UNLOCK_CCB() mutex_unlock(&gsCCBLock)
+#include <linux/spinlock.h>
+static DEFINE_SPINLOCK(gsCCBLock);
+#define PVRSRV_LOCK_CCB() \
+ { \
+ unsigned long flags; \
+ spin_lock_irqsave(&gsCCBLock, flags);
+#define PVRSRV_UNLOCK_CCB() \
+ spin_unlock_irqrestore(&gsCCBLock, flags); \
+ }
#endif /* __linux__ */
#define PVRSRV_REFCOUNT_CCB_MAX 512
diff --git a/sgx/services4/srvkm/common/resman.c b/sgx/services4/srvkm/common/resman.c
index e0f165c..aef102f 100644
--- a/sgx/services4/srvkm/common/resman.c
+++ b/sgx/services4/srvkm/common/resman.c
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include "services_headers.h"
#include "resman.h"
diff --git a/sgx/services4/srvkm/devices/sgx/mmu.c b/sgx/services4/srvkm/devices/sgx/mmu.c
index 7f1fe9c..6aec57a 100644
--- a/sgx/services4/srvkm/devices/sgx/mmu.c
+++ b/sgx/services4/srvkm/devices/sgx/mmu.c
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include "sgxdefs.h"
@@ -374,12 +373,9 @@ static IMG_VOID MakeKernelPageReadWrite(IMG_PVOID ulCPUVAddr)
pmd_t *psPMD;
pte_t *psPTE;
pte_t ptent;
- spinlock_t *psPTLock;
IMG_UINT32 ui32CPUVAddr = (IMG_UINT32) ulCPUVAddr;
- struct mm_struct *psMM = current->active_mm;
-
- psPGD = pgd_offset(psMM, ui32CPUVAddr);
+ psPGD = pgd_offset_k(ui32CPUVAddr);
if (pgd_none(*psPGD) || pgd_bad(*psPGD))
{
PVR_ASSERT(0);
@@ -396,13 +392,11 @@ static IMG_VOID MakeKernelPageReadWrite(IMG_PVOID ulCPUVAddr)
{
PVR_ASSERT(0);
}
+ psPTE = (pte_t *)pte_offset_kernel(psPMD, ui32CPUVAddr);
- psPTE = (pte_t *)pte_offset_map_lock(psMM, psPMD, ui32CPUVAddr, &psPTLock);
-
- ptent = ptep_modify_prot_start(psMM, ui32CPUVAddr, psPTE);
+ ptent = ptep_modify_prot_start(&init_mm, ui32CPUVAddr, psPTE);
ptent = pte_mkwrite(ptent);
- ptep_modify_prot_commit(psMM, ui32CPUVAddr, psPTE, ptent);
- pte_unmap_unlock(psPTE, psPTLock);
+ ptep_modify_prot_commit(&init_mm, ui32CPUVAddr, psPTE, ptent);
flush_tlb_all();
}
@@ -414,13 +408,11 @@ static IMG_VOID MakeKernelPageReadOnly(IMG_PVOID ulCPUVAddr)
pmd_t *psPMD;
pte_t *psPTE;
pte_t ptent;
- spinlock_t *psPTLock;
IMG_UINT32 ui32CPUVAddr = (IMG_UINT32) ulCPUVAddr;
- struct mm_struct *psMM = current->active_mm;
OSWriteMemoryBarrier();
- psPGD = pgd_offset(psMM, ui32CPUVAddr);
+ psPGD = pgd_offset_k(ui32CPUVAddr);
if (pgd_none(*psPGD) || pgd_bad(*psPGD))
{
PVR_ASSERT(0);
@@ -438,13 +430,11 @@ static IMG_VOID MakeKernelPageReadOnly(IMG_PVOID ulCPUVAddr)
PVR_ASSERT(0);
}
+ psPTE = (pte_t *)pte_offset_kernel(psPMD, ui32CPUVAddr);
- psPTE = (pte_t *)pte_offset_map_lock(psMM, psPMD, ui32CPUVAddr, &psPTLock);
-
- ptent = ptep_modify_prot_start(psMM, ui32CPUVAddr, psPTE);
+ ptent = ptep_modify_prot_start(&init_mm, ui32CPUVAddr, psPTE);
ptent = pte_wrprotect(ptent);
- ptep_modify_prot_commit(psMM, ui32CPUVAddr, psPTE, ptent);
- pte_unmap_unlock(psPTE, psPTLock);
+ ptep_modify_prot_commit(&init_mm, ui32CPUVAddr, psPTE, ptent);
flush_tlb_all();
diff --git a/sgx/services4/srvkm/devices/sgx/mmu.h b/sgx/services4/srvkm/devices/sgx/mmu.h
index 4d5160e..3c849fc 100644
--- a/sgx/services4/srvkm/devices/sgx/mmu.h
+++ b/sgx/services4/srvkm/devices/sgx/mmu.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef _MMU_H_
diff --git a/sgx/services4/srvkm/devices/sgx/pb.c b/sgx/services4/srvkm/devices/sgx/pb.c
index bcfe480..4ed18bb 100644
--- a/sgx/services4/srvkm/devices/sgx/pb.c
+++ b/sgx/services4/srvkm/devices/sgx/pb.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include <stddef.h>
diff --git a/sgx/services4/srvkm/devices/sgx/sgx_bridge_km.h b/sgx/services4/srvkm/devices/sgx/sgx_bridge_km.h
index 8da3e9f..f281c4e 100644
--- a/sgx/services4/srvkm/devices/sgx/sgx_bridge_km.h
+++ b/sgx/services4/srvkm/devices/sgx/sgx_bridge_km.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#if !defined(__SGX_BRIDGE_KM_H__)
diff --git a/sgx/services4/srvkm/devices/sgx/sgxconfig.h b/sgx/services4/srvkm/devices/sgx/sgxconfig.h
index dc024bc..b9ebab9 100644
--- a/sgx/services4/srvkm/devices/sgx/sgxconfig.h
+++ b/sgx/services4/srvkm/devices/sgx/sgxconfig.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __SGXCONFIG_H__
diff --git a/sgx/services4/srvkm/devices/sgx/sgxinfokm.h b/sgx/services4/srvkm/devices/sgx/sgxinfokm.h
index af00041..125da09 100644
--- a/sgx/services4/srvkm/devices/sgx/sgxinfokm.h
+++ b/sgx/services4/srvkm/devices/sgx/sgxinfokm.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __SGXINFOKM_H__
#define __SGXINFOKM_H__
@@ -446,7 +445,7 @@ typedef struct _SGX_CCB_KICK_KM_
#endif
IMG_BOOL bFirstKickOrResume;
-#if (defined(NO_HARDWARE) || defined(PDUMP))
+#if defined(NO_HARDWARE) || defined(PDUMP)
IMG_BOOL bTerminateOrAbort;
#endif
diff --git a/sgx/services4/srvkm/devices/sgx/sgxinit.c b/sgx/services4/srvkm/devices/sgx/sgxinit.c
index b794321..87f023d 100644
--- a/sgx/services4/srvkm/devices/sgx/sgxinit.c
+++ b/sgx/services4/srvkm/devices/sgx/sgxinit.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include <stddef.h>
@@ -1237,6 +1236,20 @@ static IMG_VOID SGXDumpDebugReg (PVRSRV_SGXDEV_INFO *psDevInfo,
PVR_LOG(("(P%u) %s%08X", ui32CoreNum, pszName, ui32RegVal));
}
+#if defined(SGX_FEATURE_MULTIPLE_MEM_CONTEXTS) || defined(FIX_HW_BRN_31620)
+static INLINE IMG_UINT32 GetDirListBaseReg(IMG_UINT32 ui32Index)
+{
+ if (ui32Index == 0)
+ {
+ return EUR_CR_BIF_DIR_LIST_BASE0;
+ }
+ else
+ {
+ return (EUR_CR_BIF_DIR_LIST_BASE1 + ((ui32Index - 1) * 0x4));
+ }
+}
+#endif
+
/*!
*******************************************************************************
@@ -1295,7 +1308,7 @@ IMG_VOID SGXDumpDebugInfo (PVRSRV_SGXDEV_INFO *psDevInfo,
SGXDumpDebugReg(psDevInfo, ui32CoreNum, "EUR_CR_EVENT_STATUS2: ", EUR_CR_EVENT_STATUS2);
SGXDumpDebugReg(psDevInfo, ui32CoreNum, "EUR_CR_BIF_CTRL: ", EUR_CR_BIF_CTRL);
#if defined(EUR_CR_BIF_BANK0)
- SGXDumpDebugReg(psDevInfo, ui32CoreNum, "EUR_CR_BIF_BANK0: ", EUR_CR_BIF_BANK0);
+ SGXDumpDebugReg(psDevInfo, ui32CoreNum, "EUR_CR_BIF_BANK0: ", EUR_CR_BIF_BANK0);
#endif
SGXDumpDebugReg(psDevInfo, ui32CoreNum, "EUR_CR_BIF_INT_STAT: ", EUR_CR_BIF_INT_STAT);
SGXDumpDebugReg(psDevInfo, ui32CoreNum, "EUR_CR_BIF_FAULT: ", EUR_CR_BIF_FAULT);
@@ -1336,30 +1349,89 @@ IMG_VOID SGXDumpDebugInfo (PVRSRV_SGXDEV_INFO *psDevInfo,
#endif
}
- }
-
-/* This code only works for _real_ single memory context chips */
-#if !defined(SGX_FEATURE_MULTIPLE_MEM_CONTEXTS) && !defined(FIX_HW_BRN_31620)
- {
- IMG_UINT32 ui32RegVal;
- IMG_UINT32 ui32PDDevPAddr;
- /*
- If there was a SGX pagefault check the page table too see if the
- host thinks the fault is correct
- */
- ui32RegVal = OSReadHWReg(psDevInfo->pvRegsBaseKM, EUR_CR_BIF_INT_STAT);
- if (ui32RegVal & EUR_CR_BIF_INT_STAT_PF_N_RW_MASK)
+ #if !defined(SGX_FEATURE_MULTIPLE_MEM_CONTEXTS) && !defined(FIX_HW_BRN_31620)
+ {
+ IMG_UINT32 ui32RegVal;
+ IMG_UINT32 ui32PDDevPAddr;
+
+ /*
+ If there was a SGX pagefault check the page table too see if the
+ host thinks the fault is correct
+ */
+ ui32RegVal = OSReadHWReg(psDevInfo->pvRegsBaseKM, EUR_CR_BIF_INT_STAT);
+ if (ui32RegVal & EUR_CR_BIF_INT_STAT_PF_N_RW_MASK)
+ {
+ ui32RegVal = OSReadHWReg(psDevInfo->pvRegsBaseKM, EUR_CR_BIF_FAULT);
+ ui32RegVal &= EUR_CR_BIF_FAULT_ADDR_MASK;
+ ui32PDDevPAddr = OSReadHWReg(psDevInfo->pvRegsBaseKM, EUR_CR_BIF_DIR_LIST_BASE0);
+ ui32PDDevPAddr &= EUR_CR_BIF_DIR_LIST_BASE0_ADDR_MASK;
+ MMU_CheckFaultAddr(psDevInfo, ui32PDDevPAddr, ui32RegVal);
+ }
+ }
+ #else
{
- ui32RegVal = OSReadHWReg(psDevInfo->pvRegsBaseKM, EUR_CR_BIF_FAULT);
- ui32RegVal &= EUR_CR_BIF_FAULT_ADDR_MASK;
- ui32PDDevPAddr = OSReadHWReg(psDevInfo->pvRegsBaseKM, EUR_CR_BIF_DIR_LIST_BASE0);
- ui32PDDevPAddr &= EUR_CR_BIF_DIR_LIST_BASE0_ADDR_MASK;
- MMU_CheckFaultAddr(psDevInfo, ui32PDDevPAddr, ui32RegVal);
+ IMG_UINT32 ui32FaultAddress;
+ IMG_UINT32 ui32Bank0;
+ IMG_UINT32 ui32DirListIndex;
+ IMG_UINT32 ui32PDDevPAddr;
+
+ ui32FaultAddress = OSReadHWReg(psDevInfo->pvRegsBaseKM,
+ EUR_CR_BIF_FAULT);
+ ui32FaultAddress = ui32FaultAddress & EUR_CR_BIF_FAULT_ADDR_MASK;
+
+ ui32Bank0 = OSReadHWReg(psDevInfo->pvRegsBaseKM, EUR_CR_BIF_BANK0);
+
+ /* Check the EDM's's memory context */
+ ui32DirListIndex = (ui32Bank0 & EUR_CR_BIF_BANK0_INDEX_EDM_MASK) >> EUR_CR_BIF_BANK0_INDEX_EDM_SHIFT;
+ ui32PDDevPAddr = OSReadHWReg(psDevInfo->pvRegsBaseKM,
+ GetDirListBaseReg(ui32DirListIndex));
+ PVR_LOG(("Checking EDM memory context (index = %d, PD = 0x%08x)", ui32DirListIndex, ui32PDDevPAddr));
+ MMU_CheckFaultAddr(psDevInfo, ui32PDDevPAddr, ui32FaultAddress);
+
+ /* Check the TA's memory context */
+ ui32DirListIndex = (ui32Bank0 & EUR_CR_BIF_BANK0_INDEX_TA_MASK) >> EUR_CR_BIF_BANK0_INDEX_TA_SHIFT;
+ ui32PDDevPAddr = OSReadHWReg(psDevInfo->pvRegsBaseKM,
+ GetDirListBaseReg(ui32DirListIndex));
+ PVR_LOG(("Checking TA memory context (index = %d, PD = 0x%08x)", ui32DirListIndex, ui32PDDevPAddr));
+ MMU_CheckFaultAddr(psDevInfo, ui32PDDevPAddr, ui32FaultAddress);
+
+ /* Check the 3D's memory context */
+ ui32DirListIndex = (ui32Bank0 & EUR_CR_BIF_BANK0_INDEX_3D_MASK) >> EUR_CR_BIF_BANK0_INDEX_3D_SHIFT;
+ ui32PDDevPAddr = OSReadHWReg(psDevInfo->pvRegsBaseKM,
+ GetDirListBaseReg(ui32DirListIndex));
+ PVR_LOG(("Checking 3D memory context (index = %d, PD = 0x%08x)", ui32DirListIndex, ui32PDDevPAddr));
+ MMU_CheckFaultAddr(psDevInfo, ui32PDDevPAddr, ui32FaultAddress);
+
+ #if defined(EUR_CR_BIF_BANK0_INDEX_2D_MASK)
+ /* Check the 2D's memory context */
+ ui32DirListIndex = (ui32Bank0 & EUR_CR_BIF_BANK0_INDEX_2D_MASK) >> EUR_CR_BIF_BANK0_INDEX_2D_SHIFT;
+ ui32PDDevPAddr = OSReadHWReg(psDevInfo->pvRegsBaseKM,
+ GetDirListBaseReg(ui32DirListIndex));
+ PVR_LOG(("Checking 2D memory context (index = %d, PD = 0x%08x)", ui32DirListIndex, ui32PDDevPAddr));
+ MMU_CheckFaultAddr(psDevInfo, ui32PDDevPAddr, ui32FaultAddress);
+ #endif
+
+ #if defined(EUR_CR_BIF_BANK0_INDEX_PTLA_MASK)
+ /* Check the 2D's memory context */
+ ui32DirListIndex = (ui32Bank0 & EUR_CR_BIF_BANK0_INDEX_PTLA_MASK) >> EUR_CR_BIF_BANK0_INDEX_PTLA_SHIFT;
+ ui32PDDevPAddr = OSReadHWReg(psDevInfo->pvRegsBaseKM,
+ GetDirListBaseReg(ui32DirListIndex));
+ PVR_LOG(("Checking PTLA memory context (index = %d, PD = 0x%08x)", ui32DirListIndex, ui32PDDevPAddr));
+ MMU_CheckFaultAddr(psDevInfo, ui32PDDevPAddr, ui32FaultAddress);
+ #endif
+
+ #if defined(EUR_CR_BIF_BANK0_INDEX_HOST_MASK)
+ /* Check the Host's memory context */
+ ui32DirListIndex = (ui32Bank0 & EUR_CR_BIF_BANK0_INDEX_HOST_MASK) >> EUR_CR_BIF_BANK0_INDEX_HOST_SHIFT;
+ ui32PDDevPAddr = OSReadHWReg(psDevInfo->pvRegsBaseKM,
+ GetDirListBaseReg(ui32DirListIndex));
+ PVR_LOG(("Checking Host memory context (index = %d, PD = 0x%08x)", ui32DirListIndex, ui32PDDevPAddr));
+ MMU_CheckFaultAddr(psDevInfo, ui32PDDevPAddr, ui32FaultAddress);
+ #endif
}
+ #endif
}
-#endif
-
/*
Dump out the outstanding queue items.
*/
diff --git a/sgx/services4/srvkm/devices/sgx/sgxkick.c b/sgx/services4/srvkm/devices/sgx/sgxkick.c
index 5d74251..a0f6fa9 100644
--- a/sgx/services4/srvkm/devices/sgx/sgxkick.c
+++ b/sgx/services4/srvkm/devices/sgx/sgxkick.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include <stddef.h> /* For the macro offsetof() */
@@ -97,6 +96,22 @@ PVRSRV_ERROR SGXDoKickKM(IMG_HANDLE hDevHandle, SGX_CCB_KICK *psCCBKick)
psTACmd = CCB_DATA_FROM_OFFSET(SGXMKIF_CMDTA_SHARED, psCCBMemInfo, psCCBKick, ui32CCBOffset);
PVR_TTRACE(PVRSRV_TRACE_GROUP_KICK, PVRSRV_TRACE_CLASS_CMD_START, KICK_TOKEN_DOKICK);
+
+#if defined(TTRACE)
+ if (psCCBKick->bFirstKickOrResume)
+ {
+ PVR_TTRACE(PVRSRV_TRACE_GROUP_KICK,
+ PVRSRV_TRACE_CLASS_FLAGS,
+ KICK_TOKEN_FIRST_KICK);
+ }
+
+ if (psCCBKick->bLastInScene)
+ {
+ PVR_TTRACE(PVRSRV_TRACE_GROUP_KICK,
+ PVRSRV_TRACE_CLASS_FLAGS,
+ KICK_TOKEN_LAST_KICK);
+ }
+#endif
PVR_TTRACE_UI32(PVRSRV_TRACE_GROUP_KICK, PVRSRV_TRACE_CLASS_CCB,
KICK_TOKEN_CCB_OFFSET, psCCBKick->ui32CCBOffset);
diff --git a/sgx/services4/srvkm/devices/sgx/sgxpower.c b/sgx/services4/srvkm/devices/sgx/sgxpower.c
index 3e7aa6c..d2549bb 100644
--- a/sgx/services4/srvkm/devices/sgx/sgxpower.c
+++ b/sgx/services4/srvkm/devices/sgx/sgxpower.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include <stddef.h>
diff --git a/sgx/services4/srvkm/devices/sgx/sgxreset.c b/sgx/services4/srvkm/devices/sgx/sgxreset.c
index 35b63c9..dcdefae 100644
--- a/sgx/services4/srvkm/devices/sgx/sgxreset.c
+++ b/sgx/services4/srvkm/devices/sgx/sgxreset.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include "sgxdefs.h"
diff --git a/sgx/services4/srvkm/devices/sgx/sgxtransfer.c b/sgx/services4/srvkm/devices/sgx/sgxtransfer.c
index e85015d..5106245 100644
--- a/sgx/services4/srvkm/devices/sgx/sgxtransfer.c
+++ b/sgx/services4/srvkm/devices/sgx/sgxtransfer.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#if defined(TRANSFER_QUEUE)
diff --git a/sgx/services4/srvkm/devices/sgx/sgxutils.c b/sgx/services4/srvkm/devices/sgx/sgxutils.c
index b64f545..bb45433 100644
--- a/sgx/services4/srvkm/devices/sgx/sgxutils.c
+++ b/sgx/services4/srvkm/devices/sgx/sgxutils.c
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include <stddef.h>
diff --git a/sgx/services4/srvkm/devices/sgx/sgxutils.h b/sgx/services4/srvkm/devices/sgx/sgxutils.h
index d21ad02..fc2ef6f 100644
--- a/sgx/services4/srvkm/devices/sgx/sgxutils.h
+++ b/sgx/services4/srvkm/devices/sgx/sgxutils.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include "perproc.h"
diff --git a/sgx/services4/srvkm/env/linux/Kbuild.mk b/sgx/services4/srvkm/env/linux/Kbuild.mk
index b101a5f..26ab895 100644
--- a/sgx/services4/srvkm/env/linux/Kbuild.mk
+++ b/sgx/services4/srvkm/env/linux/Kbuild.mk
@@ -36,7 +36,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
$(PVRSRV_MODNAME)-y += \
diff --git a/sgx/services4/srvkm/env/linux/Linux.mk b/sgx/services4/srvkm/env/linux/Linux.mk
index b5e9de4..dae6332 100644
--- a/sgx/services4/srvkm/env/linux/Linux.mk
+++ b/sgx/services4/srvkm/env/linux/Linux.mk
@@ -36,7 +36,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
modules := srvkm
diff --git a/sgx/services4/srvkm/env/linux/env_data.h b/sgx/services4/srvkm/env/linux/env_data.h
index 4a2b9b1..b838809 100644
--- a/sgx/services4/srvkm/env/linux/env_data.h
+++ b/sgx/services4/srvkm/env/linux/env_data.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef _ENV_DATA_
#define _ENV_DATA_
diff --git a/sgx/services4/srvkm/env/linux/env_perproc.h b/sgx/services4/srvkm/env/linux/env_perproc.h
index f434226..eb38676 100644
--- a/sgx/services4/srvkm/env/linux/env_perproc.h
+++ b/sgx/services4/srvkm/env/linux/env_perproc.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __ENV_PERPROC_H__
#define __ENV_PERPROC_H__
diff --git a/sgx/services4/srvkm/env/linux/event.c b/sgx/services4/srvkm/env/linux/event.c
index 1946e61..b70a79d 100644
--- a/sgx/services4/srvkm/env/linux/event.c
+++ b/sgx/services4/srvkm/env/linux/event.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include <linux/version.h>
diff --git a/sgx/services4/srvkm/env/linux/event.h b/sgx/services4/srvkm/env/linux/event.h
index 88adb27..5c1451c 100644
--- a/sgx/services4/srvkm/env/linux/event.h
+++ b/sgx/services4/srvkm/env/linux/event.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
diff --git a/sgx/services4/srvkm/env/linux/linkage.h b/sgx/services4/srvkm/env/linux/linkage.h
index 94aae0b..55cd4f0 100644
--- a/sgx/services4/srvkm/env/linux/linkage.h
+++ b/sgx/services4/srvkm/env/linux/linkage.h
@@ -40,7 +40,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __LINKAGE_H__
#define __LINKAGE_H__
diff --git a/sgx/services4/srvkm/env/linux/lock.h b/sgx/services4/srvkm/env/linux/lock.h
index d6d5b50..11adcaa 100644
--- a/sgx/services4/srvkm/env/linux/lock.h
+++ b/sgx/services4/srvkm/env/linux/lock.h
@@ -39,7 +39,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __LOCK_H__
#define __LOCK_H__
diff --git a/sgx/services4/srvkm/env/linux/mm.c b/sgx/services4/srvkm/env/linux/mm.c
index dc2b471..f60502d 100644
--- a/sgx/services4/srvkm/env/linux/mm.c
+++ b/sgx/services4/srvkm/env/linux/mm.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include <linux/version.h>
diff --git a/sgx/services4/srvkm/env/linux/mm.h b/sgx/services4/srvkm/env/linux/mm.h
index 2bcf408..06b96df 100644
--- a/sgx/services4/srvkm/env/linux/mm.h
+++ b/sgx/services4/srvkm/env/linux/mm.h
@@ -39,7 +39,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __IMG_LINUX_MM_H__
#define __IMG_LINUX_MM_H__
diff --git a/sgx/services4/srvkm/env/linux/mmap.c b/sgx/services4/srvkm/env/linux/mmap.c
index 6e032dc..7d561f2 100644
--- a/sgx/services4/srvkm/env/linux/mmap.c
+++ b/sgx/services4/srvkm/env/linux/mmap.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include <linux/version.h>
@@ -1583,6 +1582,7 @@ PVRMMapRegisterArea(LinuxMemArea *psLinuxMemArea)
PVRSRV_ERROR eError;
#if defined(DEBUG) || defined(DEBUG_LINUX_MMAP_AREAS)
const IMG_CHAR *pszName = LinuxMemAreaTypeToString(LinuxMemAreaRootType(psLinuxMemArea));
+ (void)pszName; /* Ignore fatal warning. */
#endif
LinuxLockMutex(&g_sMMapMutex);
diff --git a/sgx/services4/srvkm/env/linux/mmap.h b/sgx/services4/srvkm/env/linux/mmap.h
index bca8358..7140c13 100644
--- a/sgx/services4/srvkm/env/linux/mmap.h
+++ b/sgx/services4/srvkm/env/linux/mmap.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#if !defined(__MMAP_H__)
diff --git a/sgx/services4/srvkm/env/linux/module.c b/sgx/services4/srvkm/env/linux/module.c
index fe31e41..877e756 100644
--- a/sgx/services4/srvkm/env/linux/module.c
+++ b/sgx/services4/srvkm/env/linux/module.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include <linux/version.h>
diff --git a/sgx/services4/srvkm/env/linux/mutex.c b/sgx/services4/srvkm/env/linux/mutex.c
index 84e2a74..2cd666f 100644
--- a/sgx/services4/srvkm/env/linux/mutex.c
+++ b/sgx/services4/srvkm/env/linux/mutex.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include <linux/version.h>
diff --git a/sgx/services4/srvkm/env/linux/mutex.h b/sgx/services4/srvkm/env/linux/mutex.h
index 2c7d658..c590da1 100644
--- a/sgx/services4/srvkm/env/linux/mutex.h
+++ b/sgx/services4/srvkm/env/linux/mutex.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
diff --git a/sgx/services4/srvkm/env/linux/mutils.c b/sgx/services4/srvkm/env/linux/mutils.c
index 9679ed7..8e57476 100644
--- a/sgx/services4/srvkm/env/linux/mutils.c
+++ b/sgx/services4/srvkm/env/linux/mutils.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include <linux/version.h>
diff --git a/sgx/services4/srvkm/env/linux/mutils.h b/sgx/services4/srvkm/env/linux/mutils.h
index 4921e60..891598c 100644
--- a/sgx/services4/srvkm/env/linux/mutils.h
+++ b/sgx/services4/srvkm/env/linux/mutils.h
@@ -39,7 +39,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __IMG_LINUX_MUTILS_H__
#define __IMG_LINUX_MUTILS_H__
diff --git a/sgx/services4/srvkm/env/linux/osfunc.c b/sgx/services4/srvkm/env/linux/osfunc.c
index 4e4b3a0..afae6ac 100644
--- a/sgx/services4/srvkm/env/linux/osfunc.c
+++ b/sgx/services4/srvkm/env/linux/osfunc.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include <linux/version.h>
@@ -1697,8 +1696,6 @@ OSMapPhysToLin(IMG_CPU_PHYADDR BasePAddr,
IMG_BOOL
OSUnMapPhysToLin(IMG_VOID *pvLinAddr, IMG_UINT32 ui32Bytes, IMG_UINT32 ui32MappingFlags, IMG_HANDLE hOSMemHandle)
{
- PVR_TRACE(("%s: unmapping %d bytes from %p", __FUNCTION__, ui32Bytes, pvLinAddr));
-
PVR_UNREFERENCED_PARAMETER(ui32Bytes);
if(ui32MappingFlags & PVRSRV_HAP_KERNEL_ONLY)
diff --git a/sgx/services4/srvkm/env/linux/osperproc.c b/sgx/services4/srvkm/env/linux/osperproc.c
index 5116c36..a22b461 100644
--- a/sgx/services4/srvkm/env/linux/osperproc.c
+++ b/sgx/services4/srvkm/env/linux/osperproc.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include "services_headers.h"
diff --git a/sgx/services4/srvkm/env/linux/pdump.c b/sgx/services4/srvkm/env/linux/pdump.c
index 192640f..0124737 100644
--- a/sgx/services4/srvkm/env/linux/pdump.c
+++ b/sgx/services4/srvkm/env/linux/pdump.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#if defined (SUPPORT_SGX) || defined (SUPPORT_VGX)
diff --git a/sgx/services4/srvkm/env/linux/private_data.h b/sgx/services4/srvkm/env/linux/private_data.h
index 1b0f045..10c6b84 100644
--- a/sgx/services4/srvkm/env/linux/private_data.h
+++ b/sgx/services4/srvkm/env/linux/private_data.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __INCLUDED_PRIVATE_DATA_H_
diff --git a/sgx/services4/srvkm/env/linux/proc.c b/sgx/services4/srvkm/env/linux/proc.c
index 3b48c9e..3824539 100644
--- a/sgx/services4/srvkm/env/linux/proc.c
+++ b/sgx/services4/srvkm/env/linux/proc.c
@@ -40,7 +40,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include <linux/version.h>
diff --git a/sgx/services4/srvkm/env/linux/proc.h b/sgx/services4/srvkm/env/linux/proc.h
index 67cded7..bc2a554 100644
--- a/sgx/services4/srvkm/env/linux/proc.h
+++ b/sgx/services4/srvkm/env/linux/proc.h
@@ -39,7 +39,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __SERVICES_PROC_H__
diff --git a/sgx/services4/srvkm/env/linux/pvr_bridge_k.c b/sgx/services4/srvkm/env/linux/pvr_bridge_k.c
index 037b4c9..d55fd93 100644
--- a/sgx/services4/srvkm/env/linux/pvr_bridge_k.c
+++ b/sgx/services4/srvkm/env/linux/pvr_bridge_k.c
@@ -39,7 +39,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include "img_defs.h"
diff --git a/sgx/services4/srvkm/env/linux/pvr_debug.c b/sgx/services4/srvkm/env/linux/pvr_debug.c
index ad3e32b..04e42ad 100644
--- a/sgx/services4/srvkm/env/linux/pvr_debug.c
+++ b/sgx/services4/srvkm/env/linux/pvr_debug.c
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include <linux/version.h>
diff --git a/sgx/services4/srvkm/env/linux/pvr_drm.c b/sgx/services4/srvkm/env/linux/pvr_drm.c
index c955bcf..0ca9b8d 100644
--- a/sgx/services4/srvkm/env/linux/pvr_drm.c
+++ b/sgx/services4/srvkm/env/linux/pvr_drm.c
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#if defined(SUPPORT_DRI_DRM)
diff --git a/sgx/services4/srvkm/env/linux/pvr_drm.h b/sgx/services4/srvkm/env/linux/pvr_drm.h
index 5418c6d..6f600d2 100644
--- a/sgx/services4/srvkm/env/linux/pvr_drm.h
+++ b/sgx/services4/srvkm/env/linux/pvr_drm.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#if !defined(__PVR_DRM_H__)
#define __PVR_DRM_H__
diff --git a/sgx/services4/srvkm/env/linux/pvr_uaccess.h b/sgx/services4/srvkm/env/linux/pvr_uaccess.h
index 31c218b..7583d7e 100644
--- a/sgx/services4/srvkm/env/linux/pvr_uaccess.h
+++ b/sgx/services4/srvkm/env/linux/pvr_uaccess.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __PVR_UACCESS_H__
#define __PVR_UACCESS_H__
diff --git a/sgx/services4/srvkm/hwdefs/ocpdefs.h b/sgx/services4/srvkm/hwdefs/ocpdefs.h
index cc4d54e..07a6412 100644
--- a/sgx/services4/srvkm/hwdefs/ocpdefs.h
+++ b/sgx/services4/srvkm/hwdefs/ocpdefs.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef _OCPDEFS_H_
diff --git a/sgx/services4/srvkm/hwdefs/sgx530defs.h b/sgx/services4/srvkm/hwdefs/sgx530defs.h
index d4ec16f..3223feb 100644
--- a/sgx/services4/srvkm/hwdefs/sgx530defs.h
+++ b/sgx/services4/srvkm/hwdefs/sgx530defs.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef _SGX530DEFS_KM_H_
diff --git a/sgx/services4/srvkm/hwdefs/sgx540defs.h b/sgx/services4/srvkm/hwdefs/sgx540defs.h
index 25f9ec1..47080c7 100644
--- a/sgx/services4/srvkm/hwdefs/sgx540defs.h
+++ b/sgx/services4/srvkm/hwdefs/sgx540defs.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef _SGX540DEFS_KM_H_
diff --git a/sgx/services4/srvkm/hwdefs/sgx544defs.h b/sgx/services4/srvkm/hwdefs/sgx544defs.h
index c35a259..79efcbc 100644
--- a/sgx/services4/srvkm/hwdefs/sgx544defs.h
+++ b/sgx/services4/srvkm/hwdefs/sgx544defs.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef _SGX544DEFS_KM_H_
diff --git a/sgx/services4/srvkm/hwdefs/sgxdefs.h b/sgx/services4/srvkm/hwdefs/sgxdefs.h
index dee7bce..ed24647 100644
--- a/sgx/services4/srvkm/hwdefs/sgxdefs.h
+++ b/sgx/services4/srvkm/hwdefs/sgxdefs.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef _SGXDEFS_H_
diff --git a/sgx/services4/srvkm/hwdefs/sgxerrata.h b/sgx/services4/srvkm/hwdefs/sgxerrata.h
index 36d8b30..5870386 100644
--- a/sgx/services4/srvkm/hwdefs/sgxerrata.h
+++ b/sgx/services4/srvkm/hwdefs/sgxerrata.h
@@ -40,7 +40,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef _SGXERRATA_KM_H_
#define _SGXERRATA_KM_H_
diff --git a/sgx/services4/srvkm/hwdefs/sgxfeaturedefs.h b/sgx/services4/srvkm/hwdefs/sgxfeaturedefs.h
index cefa154..23f1d79 100644
--- a/sgx/services4/srvkm/hwdefs/sgxfeaturedefs.h
+++ b/sgx/services4/srvkm/hwdefs/sgxfeaturedefs.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#if defined(SGX520)
#define SGX_CORE_FRIENDLY_NAME "SGX520"
@@ -101,10 +100,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define SGX_FEATURE_EXTENDED_PERF_COUNTERS
#define SGX_FEATURE_EDM_VERTEX_PDSADDR_FULL_RANGE
#if defined(SUPPORT_SGX_LOW_LATENCY_SCHEDULING)
- #if defined(SGX_FEATURE_MP)
- #define SGX_FEATURE_MASTER_VDM_CONTEXT_SWITCH
- #endif
- #define SGX_FEATURE_SLAVE_VDM_CONTEXT_SWITCH
+ #define SGX_FEATURE_SW_VDM_CONTEXT_SWITCH
#define SGX_FEATURE_SW_ISP_CONTEXT_SWITCH
#endif
#else
diff --git a/sgx/services4/srvkm/hwdefs/sgxmmu.h b/sgx/services4/srvkm/hwdefs/sgxmmu.h
index 509fa5a..a6a907a 100644
--- a/sgx/services4/srvkm/hwdefs/sgxmmu.h
+++ b/sgx/services4/srvkm/hwdefs/sgxmmu.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#if !defined(__SGXMMU_KM_H__)
diff --git a/sgx/services4/srvkm/hwdefs/sgxmpdefs.h b/sgx/services4/srvkm/hwdefs/sgxmpdefs.h
index 4186731..4b9649f 100644
--- a/sgx/services4/srvkm/hwdefs/sgxmpdefs.h
+++ b/sgx/services4/srvkm/hwdefs/sgxmpdefs.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef _SGXMPDEFS_KM_H_
diff --git a/sgx/services4/srvkm/include/buffer_manager.h b/sgx/services4/srvkm/include/buffer_manager.h
index b7440a0..0d678eb 100644
--- a/sgx/services4/srvkm/include/buffer_manager.h
+++ b/sgx/services4/srvkm/include/buffer_manager.h
@@ -39,7 +39,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef _BUFFER_MANAGER_H_
diff --git a/sgx/services4/srvkm/include/device.h b/sgx/services4/srvkm/include/device.h
index 726d5ce..6ddee5d 100644
--- a/sgx/services4/srvkm/include/device.h
+++ b/sgx/services4/srvkm/include/device.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __DEVICE_H__
diff --git a/sgx/services4/srvkm/include/handle.h b/sgx/services4/srvkm/include/handle.h
index fdfe0a8..157d209 100644
--- a/sgx/services4/srvkm/include/handle.h
+++ b/sgx/services4/srvkm/include/handle.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __HANDLE_H__
#define __HANDLE_H__
diff --git a/sgx/services4/srvkm/include/hash.h b/sgx/services4/srvkm/include/hash.h
index 2179ac0..1ed6fd0 100644
--- a/sgx/services4/srvkm/include/hash.h
+++ b/sgx/services4/srvkm/include/hash.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef _HASH_H_
diff --git a/sgx/services4/srvkm/include/lists.h b/sgx/services4/srvkm/include/lists.h
index f39c8e2..81205de 100644
--- a/sgx/services4/srvkm/include/lists.h
+++ b/sgx/services4/srvkm/include/lists.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __LISTS_UTILS__
diff --git a/sgx/services4/srvkm/include/metrics.h b/sgx/services4/srvkm/include/metrics.h
index 3326a7f..18079cb 100644
--- a/sgx/services4/srvkm/include/metrics.h
+++ b/sgx/services4/srvkm/include/metrics.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef _METRICS_
@@ -118,8 +117,6 @@ extern IMG_VOID PVRSRVOutputMetricTotals(IMG_VOID);
-
-
#else /* defined(DEBUG) || defined(TIMING) */
diff --git a/sgx/services4/srvkm/include/osfunc.h b/sgx/services4/srvkm/include/osfunc.h
index 953a4b3..9e879c8 100644
--- a/sgx/services4/srvkm/include/osfunc.h
+++ b/sgx/services4/srvkm/include/osfunc.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifdef DEBUG_RELEASE_BUILD
#pragma optimize( "", off )
@@ -113,7 +112,7 @@ PVRSRV_ERROR OSUnReservePhys(IMG_VOID *pvCpuVAddr, IMG_SIZE_T ui32Bytes, IMG_UIN
* INVALIDATE Invalidate w/o flush
*/
-#if (defined(__linux__) && defined(__KERNEL__)) || (UNDER_CE >= 600)
+#if defined(__linux__) && defined(__KERNEL__)
IMG_VOID OSFlushCPUCacheKM(IMG_VOID);
@@ -191,7 +190,7 @@ static INLINE IMG_BOOL OSInvalidateCPUCacheRangeKM(IMG_HANDLE hOSMemHandle,
#endif /* defined(__linux__) && defined(__KERNEL__) */
-#if (defined(__linux__) || defined(__QNXNTO__))
+#if defined(__linux__) || defined(__QNXNTO__)
PVRSRV_ERROR OSRegisterDiscontigMem(IMG_SYS_PHYADDR *pBasePAddr,
IMG_VOID *pvCpuVAddr,
IMG_SIZE_T ui32Bytes,
@@ -238,7 +237,7 @@ static INLINE PVRSRV_ERROR OSUnRegisterDiscontigMem(IMG_VOID *pvCpuVAddr,
#endif /* defined(__linux__) */
-#if (defined(__linux__) || defined(__QNXNTO__))
+#if defined(__linux__) || defined(__QNXNTO__)
#ifdef INLINE_IS_PRAGMA
#pragma inline(OSReserveDiscontigPhys)
#endif
@@ -679,7 +678,7 @@ IMG_BOOL OSAccessOK(IMG_VERIFY_TEST eVerification, IMG_VOID *pvUserPtr, IMG_SIZE
PVRSRV_ERROR OSCopyToUser(IMG_PVOID pvProcess, IMG_VOID *pvDest, IMG_VOID *pvSrc, IMG_SIZE_T ui32Bytes);
PVRSRV_ERROR OSCopyFromUser(IMG_PVOID pvProcess, IMG_VOID *pvDest, IMG_VOID *pvSrc, IMG_SIZE_T ui32Bytes);
-#if (defined(__linux__) || defined(__QNXNTO__))
+#if defined(__linux__) || defined(__QNXNTO__)
PVRSRV_ERROR OSAcquirePhysPageAddr(IMG_VOID* pvCPUVAddr,
IMG_SIZE_T ui32Bytes,
IMG_SYS_PHYADDR *psSysPAddr,
diff --git a/sgx/services4/srvkm/include/osperproc.h b/sgx/services4/srvkm/include/osperproc.h
index 9c72be0..0b962b4 100644
--- a/sgx/services4/srvkm/include/osperproc.h
+++ b/sgx/services4/srvkm/include/osperproc.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __OSPERPROC_H__
#define __OSPERPROC_H__
diff --git a/sgx/services4/srvkm/include/pdump_int.h b/sgx/services4/srvkm/include/pdump_int.h
index 9777f63..a76fed0 100644
--- a/sgx/services4/srvkm/include/pdump_int.h
+++ b/sgx/services4/srvkm/include/pdump_int.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
diff --git a/sgx/services4/srvkm/include/pdump_km.h b/sgx/services4/srvkm/include/pdump_km.h
index 97b5e2a..e4325cc 100644
--- a/sgx/services4/srvkm/include/pdump_km.h
+++ b/sgx/services4/srvkm/include/pdump_km.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef _PDUMP_KM_H_
#define _PDUMP_KM_H_
@@ -381,7 +380,7 @@ extern IMG_UINT32 g_ui32EveryLineCounter;
#define PDUMPRESUME PDumpResumeKM
#else
-#if (((defined(LINUX) || defined(__QNXNTO__)) || defined(GCC_IA32)) || defined(GCC_ARM))
+#if defined LINUX || defined (__QNXNTO__) || defined GCC_IA32 || defined GCC_ARM
#define PDUMPMEMPOL(args...)
#define PDUMPMEM(args...)
#define PDUMPMEMPTENTRIES(args...)
diff --git a/sgx/services4/srvkm/include/pdump_osfunc.h b/sgx/services4/srvkm/include/pdump_osfunc.h
index 3bda7df..fb5c7c3 100644
--- a/sgx/services4/srvkm/include/pdump_osfunc.h
+++ b/sgx/services4/srvkm/include/pdump_osfunc.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include <stdarg.h>
@@ -59,6 +58,28 @@ extern "C" {
* supported (e.g. Linux).
*/
#define MAX_PDUMP_STRING_LENGTH (256)
+#if defined(__QNXNTO__)
+#define PDUMP_GET_SCRIPT_STRING() \
+ IMG_CHAR pszScript[MAX_PDUMP_STRING_LENGTH]; \
+ IMG_UINT32 ui32MaxLen = MAX_PDUMP_STRING_LENGTH-1; \
+ IMG_HANDLE hScript = (IMG_HANDLE)pszScript;
+
+#define PDUMP_GET_MSG_STRING() \
+ IMG_CHAR pszMsg[MAX_PDUMP_STRING_LENGTH]; \
+ IMG_UINT32 ui32MaxLen = MAX_PDUMP_STRING_LENGTH-1;
+
+#define PDUMP_GET_FILE_STRING() \
+ IMG_CHAR pszFileName[MAX_PDUMP_STRING_LENGTH]; \
+ IMG_UINT32 ui32MaxLen = MAX_PDUMP_STRING_LENGTH-1;
+
+#define PDUMP_GET_SCRIPT_AND_FILE_STRING() \
+ IMG_CHAR pszScript[MAX_PDUMP_STRING_LENGTH]; \
+ IMG_CHAR pszFileName[MAX_PDUMP_STRING_LENGTH]; \
+ IMG_UINT32 ui32MaxLenScript = MAX_PDUMP_STRING_LENGTH-1; \
+ IMG_UINT32 ui32MaxLenFileName = MAX_PDUMP_STRING_LENGTH-1; \
+ IMG_HANDLE hScript = (IMG_HANDLE)pszScript;
+
+#else /* WIN32 or QNX */
/*
@@ -126,6 +147,7 @@ extern "C" {
*/
PVRSRV_ERROR PDumpOSGetFilenameString(IMG_CHAR **ppszFile, IMG_UINT32 *pui32MaxLen);
+#endif /* WIN32 or QNX */
/*
diff --git a/sgx/services4/srvkm/include/perfkm.h b/sgx/services4/srvkm/include/perfkm.h
index 719b61d..715c2c4 100644
--- a/sgx/services4/srvkm/include/perfkm.h
+++ b/sgx/services4/srvkm/include/perfkm.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef _PERFKM_H_
#define _PERFKM_H_
diff --git a/sgx/services4/srvkm/include/perproc.h b/sgx/services4/srvkm/include/perproc.h
index d7a7a11..d603613 100644
--- a/sgx/services4/srvkm/include/perproc.h
+++ b/sgx/services4/srvkm/include/perproc.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __PERPROC_H__
#define __PERPROC_H__
diff --git a/sgx/services4/srvkm/include/power.h b/sgx/services4/srvkm/include/power.h
index eb05e2c..0abaf75 100644
--- a/sgx/services4/srvkm/include/power.h
+++ b/sgx/services4/srvkm/include/power.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef POWER_H
#define POWER_H
diff --git a/sgx/services4/srvkm/include/queue.h b/sgx/services4/srvkm/include/queue.h
index 266cc81..58f8093 100644
--- a/sgx/services4/srvkm/include/queue.h
+++ b/sgx/services4/srvkm/include/queue.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef QUEUE_H
diff --git a/sgx/services4/srvkm/include/ra.h b/sgx/services4/srvkm/include/ra.h
index b6bd587..aaeb345 100644
--- a/sgx/services4/srvkm/include/ra.h
+++ b/sgx/services4/srvkm/include/ra.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef _RA_H_
diff --git a/sgx/services4/srvkm/include/refcount.h b/sgx/services4/srvkm/include/refcount.h
index 73f6780..0e3479d 100644
--- a/sgx/services4/srvkm/include/refcount.h
+++ b/sgx/services4/srvkm/include/refcount.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __REFCOUNT_H__
diff --git a/sgx/services4/srvkm/include/resman.h b/sgx/services4/srvkm/include/resman.h
index 6c9b93e..92659d9 100644
--- a/sgx/services4/srvkm/include/resman.h
+++ b/sgx/services4/srvkm/include/resman.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __RESMAN_H__
diff --git a/sgx/services4/srvkm/include/services_headers.h b/sgx/services4/srvkm/include/services_headers.h
index 30a4b23..d09b8a8 100644
--- a/sgx/services4/srvkm/include/services_headers.h
+++ b/sgx/services4/srvkm/include/services_headers.h
@@ -39,7 +39,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
diff --git a/sgx/services4/srvkm/include/srvkm.h b/sgx/services4/srvkm/include/srvkm.h
index 14828bd..5d396f8 100644
--- a/sgx/services4/srvkm/include/srvkm.h
+++ b/sgx/services4/srvkm/include/srvkm.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef SRVKM_H
diff --git a/sgx/services4/srvkm/include/ttrace.h b/sgx/services4/srvkm/include/ttrace.h
index d073b7c..cb70ff8 100644
--- a/sgx/services4/srvkm/include/ttrace.h
+++ b/sgx/services4/srvkm/include/ttrace.h
@@ -39,7 +39,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include "services_headers.h"
#include "ttrace_common.h"
diff --git a/sgx/services4/srvkm/include/ttrace_common.h b/sgx/services4/srvkm/include/ttrace_common.h
index 3e8b763..b14f256 100644
--- a/sgx/services4/srvkm/include/ttrace_common.h
+++ b/sgx/services4/srvkm/include/ttrace_common.h
@@ -39,7 +39,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include "img_types.h"
diff --git a/sgx/services4/srvkm/include/ttrace_tokens.h b/sgx/services4/srvkm/include/ttrace_tokens.h
index 73323ad..24bc484 100644
--- a/sgx/services4/srvkm/include/ttrace_tokens.h
+++ b/sgx/services4/srvkm/include/ttrace_tokens.h
@@ -39,7 +39,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef __TTRACE_TOKENS_H__
@@ -65,6 +64,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define PVRSRV_TRACE_CLASS_CMD_END 5
#define PVRSRV_TRACE_CLASS_CMD_COMP_START 6
#define PVRSRV_TRACE_CLASS_CMD_COMP_END 7
+#define PVRSRV_TRACE_CLASS_FLAGS 8
#define PVRSRV_TRACE_CLASS_NONE 255
@@ -87,6 +87,8 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define KICK_TOKEN_3D_SYNC 4
#define KICK_TOKEN_SRC_SYNC 5
#define KICK_TOKEN_DST_SYNC 6
+#define KICK_TOKEN_FIRST_KICK 7
+#define KICK_TOKEN_LAST_KICK 8
/* Transfer Queue group tokens */
#define TRANSFER_TOKEN_SUBMIT 0
diff --git a/sgx/services4/system/include/syscommon.h b/sgx/services4/system/include/syscommon.h
index 8463a2d..5153a8b 100644
--- a/sgx/services4/system/include/syscommon.h
+++ b/sgx/services4/system/include/syscommon.h
@@ -39,7 +39,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef _SYSCOMMON_H
diff --git a/sgx/services4/system/omap4/oemfuncs.h b/sgx/services4/system/omap4/oemfuncs.h
index 1a84eb3..0902042 100644
--- a/sgx/services4/system/omap4/oemfuncs.h
+++ b/sgx/services4/system/omap4/oemfuncs.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#if !defined(__OEMFUNCS_H__)
diff --git a/sgx/services4/system/omap4/sysconfig.c b/sgx/services4/system/omap4/sysconfig.c
index e8b41cb..eeba465 100644
--- a/sgx/services4/system/omap4/sysconfig.c
+++ b/sgx/services4/system/omap4/sysconfig.c
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include "sysconfig.h"
diff --git a/sgx/services4/system/omap4/sysconfig.h b/sgx/services4/system/omap4/sysconfig.h
index 808562a..2912928 100644
--- a/sgx/services4/system/omap4/sysconfig.h
+++ b/sgx/services4/system/omap4/sysconfig.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#if !defined(__SOCCONFIG_H__)
diff --git a/sgx/services4/system/omap4/sysinfo.h b/sgx/services4/system/omap4/sysinfo.h
index 4c9ac80..70ae148 100644
--- a/sgx/services4/system/omap4/sysinfo.h
+++ b/sgx/services4/system/omap4/sysinfo.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#if !defined(__SYSINFO_H__)
diff --git a/sgx/services4/system/omap4/syslocal.h b/sgx/services4/system/omap4/syslocal.h
index c88ad14..cf0a5f3 100644
--- a/sgx/services4/system/omap4/syslocal.h
+++ b/sgx/services4/system/omap4/syslocal.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#if !defined(__SYSLOCAL_H__)
@@ -104,14 +103,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#if 0 /* need to avoid defining SGX_OCP_NO_INT_BYPASS otherwise we get not irqs */
#if defined(__linux__)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) && defined(SGX_OCP_REGS_ENABLED)
-/* FIXME: Temporary workaround for OMAP4470 */
-#if !defined(SGX544)
+#if defined(SGX_OCP_REGS_ENABLED)
#define SGX_OCP_NO_INT_BYPASS
#endif
#endif
#endif
-#endif
#if defined (__cplusplus)
extern "C" {
diff --git a/sgx/services4/system/omap4/sysutils.c b/sgx/services4/system/omap4/sysutils.c
index eeb06e7..27b2df6 100644
--- a/sgx/services4/system/omap4/sysutils.c
+++ b/sgx/services4/system/omap4/sysutils.c
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
/* Pull in the correct system dependent sysutils source */
diff --git a/sgx/services4/system/omap4/sysutils_linux.c b/sgx/services4/system/omap4/sysutils_linux.c
index 8d0d958..aaf1244 100644
--- a/sgx/services4/system/omap4/sysutils_linux.c
+++ b/sgx/services4/system/omap4/sysutils_linux.c
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include <linux/version.h>
#include <linux/clk.h>
diff --git a/sgx/services4/system/omap5/oemfuncs.h b/sgx/services4/system/omap5/oemfuncs.h
new file mode 100644
index 0000000..1a84eb3
--- /dev/null
+++ b/sgx/services4/system/omap5/oemfuncs.h
@@ -0,0 +1,81 @@
+/*************************************************************************/ /*!
+@Title SGX kernel/client driver interface structures and prototypes
+@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
+@License Dual MIT/GPLv2
+
+The contents of this file are subject to the MIT license as set out below.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+Alternatively, the contents of this file may be used under the terms of
+the GNU General Public License Version 2 ("GPL") in which case the provisions
+of GPL are applicable instead of those above.
+
+If you wish to allow use of your version of this file only under the terms of
+GPL, and not to allow others to use your version of this file under the terms
+of the MIT license, indicate your decision by deleting the provisions above
+and replace them with the notice and other provisions required by GPL as set
+out in the file called "GPL-COPYING" included in this distribution. If you do
+not delete the provisions above, a recipient may use your version of this file
+under the terms of either the MIT license or GPL.
+
+This License is also included in this distribution in the file called
+"MIT-COPYING".
+
+EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
+PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+*/ /**************************************************************************/
+
+#if !defined(__OEMFUNCS_H__)
+#define __OEMFUNCS_H__
+
+#if defined (__cplusplus)
+extern "C" {
+#endif
+
+/* function in/out data structures: */
+typedef IMG_UINT32 (*PFN_SRV_BRIDGEDISPATCH)( IMG_UINT32 Ioctl,
+ IMG_BYTE *pInBuf,
+ IMG_UINT32 InBufLen,
+ IMG_BYTE *pOutBuf,
+ IMG_UINT32 OutBufLen,
+ IMG_UINT32 *pdwBytesTransferred);
+/*
+ Function table for kernel 3rd party driver to kernel services
+*/
+typedef struct PVRSRV_DC_OEM_JTABLE_TAG
+{
+ PFN_SRV_BRIDGEDISPATCH pfnOEMBridgeDispatch;
+ IMG_PVOID pvDummy1;
+ IMG_PVOID pvDummy2;
+ IMG_PVOID pvDummy3;
+
+} PVRSRV_DC_OEM_JTABLE;
+
+#define OEM_GET_EXT_FUNCS (1<<1)
+
+#if defined(__cplusplus)
+}
+#endif
+
+#endif /* __OEMFUNCS_H__ */
+
+/*****************************************************************************
+ End of file (oemfuncs.h)
+*****************************************************************************/
+
+
diff --git a/sgx/services4/system/omap5/sysconfig.c b/sgx/services4/system/omap5/sysconfig.c
new file mode 100644
index 0000000..df79a3b
--- /dev/null
+++ b/sgx/services4/system/omap5/sysconfig.c
@@ -0,0 +1,1305 @@
+/*************************************************************************/ /*!
+@Title System Configuration
+@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
+@Description System Configuration functions
+@License Dual MIT/GPLv2
+
+The contents of this file are subject to the MIT license as set out below.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+Alternatively, the contents of this file may be used under the terms of
+the GNU General Public License Version 2 ("GPL") in which case the provisions
+of GPL are applicable instead of those above.
+
+If you wish to allow use of your version of this file only under the terms of
+GPL, and not to allow others to use your version of this file under the terms
+of the MIT license, indicate your decision by deleting the provisions above
+and replace them with the notice and other provisions required by GPL as set
+out in the file called "GPL-COPYING" included in this distribution. If you do
+not delete the provisions above, a recipient may use your version of this file
+under the terms of either the MIT license or GPL.
+
+This License is also included in this distribution in the file called
+"MIT-COPYING".
+
+EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
+PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+*/ /**************************************************************************/
+
+#include "sysconfig.h"
+#include "services_headers.h"
+#include "kerneldisplay.h"
+#include "oemfuncs.h"
+#include "sgxinfo.h"
+#include "sgxinfokm.h"
+#include "syslocal.h"
+
+#include "ocpdefs.h"
+
+/* top level system data anchor point*/
+SYS_DATA* gpsSysData = (SYS_DATA*)IMG_NULL;
+SYS_DATA gsSysData;
+
+static SYS_SPECIFIC_DATA gsSysSpecificData;
+SYS_SPECIFIC_DATA *gpsSysSpecificData;
+
+/* SGX structures */
+static IMG_UINT32 gui32SGXDeviceID;
+static SGX_DEVICE_MAP gsSGXDeviceMap;
+static PVRSRV_DEVICE_NODE *gpsSGXDevNode;
+
+
+#if defined(NO_HARDWARE) || defined(SGX_OCP_REGS_ENABLED)
+static IMG_CPU_VIRTADDR gsSGXRegsCPUVAddr;
+#endif
+
+#if defined(PVR_LINUX_DYNAMIC_SGX_RESOURCE_INFO)
+extern struct platform_device *gpsPVRLDMDev;
+#endif
+
+IMG_UINT32 PVRSRV_BridgeDispatchKM(IMG_UINT32 Ioctl,
+ IMG_BYTE *pInBuf,
+ IMG_UINT32 InBufLen,
+ IMG_BYTE *pOutBuf,
+ IMG_UINT32 OutBufLen,
+ IMG_UINT32 *pdwBytesTransferred);
+
+#if defined(SGX_OCP_REGS_ENABLED)
+
+static IMG_CPU_VIRTADDR gpvOCPRegsLinAddr;
+
+static PVRSRV_ERROR EnableSGXClocksWrap(SYS_DATA *psSysData)
+{
+ PVRSRV_ERROR eError = EnableSGXClocks(psSysData);
+
+#if !defined(SGX_OCP_NO_INT_BYPASS)
+ if(eError == PVRSRV_OK)
+ {
+ OSWriteHWReg(gpvOCPRegsLinAddr, EUR_CR_OCP_SYSCONFIG, 0x14);
+ OSWriteHWReg(gpvOCPRegsLinAddr, EUR_CR_OCP_DEBUG_CONFIG, EUR_CR_OCP_DEBUG_CONFIG_THALIA_INT_BYPASS_MASK);
+ }
+#endif
+ return eError;
+}
+
+#else /* defined(SGX_OCP_REGS_ENABLED) */
+
+static INLINE PVRSRV_ERROR EnableSGXClocksWrap(SYS_DATA *psSysData)
+{
+ return EnableSGXClocks(psSysData);
+}
+
+#endif /* defined(SGX_OCP_REGS_ENABLED) */
+
+static INLINE PVRSRV_ERROR EnableSystemClocksWrap(SYS_DATA *psSysData)
+{
+ PVRSRV_ERROR eError = EnableSystemClocks(psSysData);
+
+#if !defined(SUPPORT_ACTIVE_POWER_MANAGEMENT)
+ if(eError == PVRSRV_OK)
+ {
+ /*
+ * The SGX Clocks are enabled separately if active power
+ * management is enabled.
+ */
+ eError = EnableSGXClocksWrap(psSysData);
+ if (eError != PVRSRV_OK)
+ {
+ DisableSystemClocks(psSysData);
+ }
+ }
+#endif
+
+ return eError;
+}
+
+/*!
+******************************************************************************
+
+ @Function SysLocateDevices
+
+ @Description Specifies devices in the systems memory map
+
+ @Input psSysData - sys data
+
+ @Return PVRSRV_ERROR
+
+******************************************************************************/
+static PVRSRV_ERROR SysLocateDevices(SYS_DATA *psSysData)
+{
+#if defined(NO_HARDWARE)
+ PVRSRV_ERROR eError;
+ IMG_CPU_PHYADDR sCpuPAddr;
+#else
+#if defined(PVR_LINUX_DYNAMIC_SGX_RESOURCE_INFO)
+ struct resource *dev_res;
+ int dev_irq;
+#endif
+#endif
+
+ PVR_UNREFERENCED_PARAMETER(psSysData);
+
+ /* SGX Device: */
+ gsSGXDeviceMap.ui32Flags = 0x0;
+
+#if defined(NO_HARDWARE)
+ /*
+ * For no hardware, allocate some contiguous memory for the
+ * register block.
+ */
+
+ /* Registers */
+ gsSGXDeviceMap.ui32RegsSize = SYS_OMAP5430_SGX_REGS_SIZE;
+
+ eError = OSBaseAllocContigMemory(gsSGXDeviceMap.ui32RegsSize,
+ &gsSGXRegsCPUVAddr,
+ &sCpuPAddr);
+ if(eError != PVRSRV_OK)
+ {
+ return eError;
+ }
+ gsSGXDeviceMap.sRegsCpuPBase = sCpuPAddr;
+ gsSGXDeviceMap.sRegsSysPBase = SysCpuPAddrToSysPAddr(gsSGXDeviceMap.sRegsCpuPBase);
+#if defined(__linux__)
+ /* Indicate the registers are already mapped */
+ gsSGXDeviceMap.pvRegsCpuVBase = gsSGXRegsCPUVAddr;
+#else
+ /*
+ * FIXME: Could we just use the virtual address returned by
+ * OSBaseAllocContigMemory?
+ */
+ gsSGXDeviceMap.pvRegsCpuVBase = IMG_NULL;
+#endif
+
+ OSMemSet(gsSGXRegsCPUVAddr, 0, gsSGXDeviceMap.ui32RegsSize);
+
+ /*
+ device interrupt IRQ
+ Note: no interrupts available on no hardware system
+ */
+ gsSGXDeviceMap.ui32IRQ = 0;
+
+#else /* defined(NO_HARDWARE) */
+#if defined(PVR_LINUX_DYNAMIC_SGX_RESOURCE_INFO)
+ /* get the resource and IRQ through platform resource API */
+ dev_res = platform_get_resource(gpsPVRLDMDev, IORESOURCE_MEM, 0);
+ if (dev_res == NULL)
+ {
+ PVR_DPF((PVR_DBG_ERROR, "%s: platform_get_resource failed", __FUNCTION__));
+ return PVRSRV_ERROR_INVALID_DEVICE;
+ }
+
+ dev_irq = platform_get_irq(gpsPVRLDMDev, 0);
+ if (dev_irq < 0)
+ {
+ PVR_DPF((PVR_DBG_ERROR, "%s: platform_get_irq failed (%d)", __FUNCTION__, -dev_irq));
+ return PVRSRV_ERROR_INVALID_DEVICE;
+ }
+
+ gsSGXDeviceMap.sRegsSysPBase.uiAddr = dev_res->start;
+ gsSGXDeviceMap.sRegsCpuPBase =
+ SysSysPAddrToCpuPAddr(gsSGXDeviceMap.sRegsSysPBase);
+ PVR_TRACE(("SGX register base: 0x%lx", (unsigned long)gsSGXDeviceMap.sRegsCpuPBase.uiAddr));
+
+ gsSGXDeviceMap.ui32RegsSize = (unsigned int)(dev_res->end - dev_res->start);
+ PVR_TRACE(("SGX register size: %d",gsSGXDeviceMap.ui32RegsSize));
+
+ gsSGXDeviceMap.ui32IRQ = dev_irq;
+ PVR_TRACE(("SGX IRQ: %d", gsSGXDeviceMap.ui32IRQ));
+#else /* defined(PVR_LINUX_DYNAMIC_SGX_RESOURCE_INFO) */
+ gsSGXDeviceMap.sRegsSysPBase.uiAddr = SYS_OMAP5430_SGX_REGS_SYS_PHYS_BASE;
+ gsSGXDeviceMap.sRegsCpuPBase = SysSysPAddrToCpuPAddr(gsSGXDeviceMap.sRegsSysPBase);
+ gsSGXDeviceMap.ui32RegsSize = SYS_OMAP5430_SGX_REGS_SIZE;
+
+ gsSGXDeviceMap.ui32IRQ = SYS_OMAP5430_SGX_IRQ;
+
+#endif /* defined(PVR_LINUX_DYNAMIC_SGX_RESOURCE_INFO) */
+#if defined(SGX_OCP_REGS_ENABLED)
+ gsSGXRegsCPUVAddr = OSMapPhysToLin(gsSGXDeviceMap.sRegsCpuPBase,
+ gsSGXDeviceMap.ui32RegsSize,
+ PVRSRV_HAP_UNCACHED|PVRSRV_HAP_KERNEL_ONLY,
+ IMG_NULL);
+
+ if (gsSGXRegsCPUVAddr == IMG_NULL)
+ {
+ PVR_DPF((PVR_DBG_ERROR,"SysLocateDevices: Failed to map SGX registers"));
+ return PVRSRV_ERROR_BAD_MAPPING;
+ }
+
+ /* Indicate the registers are already mapped */
+ gsSGXDeviceMap.pvRegsCpuVBase = gsSGXRegsCPUVAddr;
+ gpvOCPRegsLinAddr = gsSGXRegsCPUVAddr;
+#endif
+#endif /* defined(NO_HARDWARE) */
+
+#if defined(PDUMP)
+ {
+ /* initialise memory region name for pdumping */
+ static IMG_CHAR pszPDumpDevName[] = "SGXMEM";
+ gsSGXDeviceMap.pszPDumpDevName = pszPDumpDevName;
+ }
+#endif
+
+ /* add other devices here: */
+
+
+ return PVRSRV_OK;
+}
+
+
+/*!
+******************************************************************************
+
+ @Function SysCreateVersionString
+
+ @Description Read the version string
+
+ @Return IMG_CHAR * : Version string
+
+******************************************************************************/
+static IMG_CHAR *SysCreateVersionString(void)
+{
+ static IMG_CHAR aszVersionString[100];
+ SYS_DATA *psSysData;
+ IMG_UINT32 ui32SGXRevision;
+ IMG_INT32 i32Count;
+#if !defined(NO_HARDWARE)
+ IMG_VOID *pvRegsLinAddr;
+
+ pvRegsLinAddr = OSMapPhysToLin(gsSGXDeviceMap.sRegsCpuPBase,
+ gsSGXDeviceMap.ui32RegsSize,
+ PVRSRV_HAP_UNCACHED|PVRSRV_HAP_KERNEL_ONLY,
+ IMG_NULL);
+ if(!pvRegsLinAddr)
+ {
+ return IMG_NULL;
+ }
+
+#if SGX_CORE_REV == 105
+ ui32SGXRevision = 0x10005;
+#else
+ ui32SGXRevision = OSReadHWReg((IMG_PVOID)((IMG_PBYTE)pvRegsLinAddr),
+ EUR_CR_CORE_REVISION);
+#endif
+
+#else
+ ui32SGXRevision = 0;
+#endif
+
+ SysAcquireData(&psSysData);
+
+ i32Count = OSSNPrintf(aszVersionString, 100,
+ "SGX revision = %u.%u.%u",
+ (IMG_UINT)((ui32SGXRevision & EUR_CR_CORE_REVISION_MAJOR_MASK)
+ >> EUR_CR_CORE_REVISION_MAJOR_SHIFT),
+ (IMG_UINT)((ui32SGXRevision & EUR_CR_CORE_REVISION_MINOR_MASK)
+ >> EUR_CR_CORE_REVISION_MINOR_SHIFT),
+ (IMG_UINT)((ui32SGXRevision & EUR_CR_CORE_REVISION_MAINTENANCE_MASK)
+ >> EUR_CR_CORE_REVISION_MAINTENANCE_SHIFT)
+ );
+
+#if !defined(NO_HARDWARE)
+ OSUnMapPhysToLin(pvRegsLinAddr,
+ SYS_OMAP5430_SGX_REGS_SIZE,
+ PVRSRV_HAP_UNCACHED|PVRSRV_HAP_KERNEL_ONLY,
+ IMG_NULL);
+#endif
+
+ if(i32Count == -1)
+ {
+ return IMG_NULL;
+ }
+
+ return aszVersionString;
+}
+
+
+/*!
+******************************************************************************
+
+ @Function SysInitialise
+
+ @Description Initialises kernel services at 'driver load' time
+
+ @Return PVRSRV_ERROR :
+
+******************************************************************************/
+PVRSRV_ERROR SysInitialise(IMG_VOID)
+{
+ IMG_UINT32 i;
+ PVRSRV_ERROR eError;
+ PVRSRV_DEVICE_NODE *psDeviceNode;
+#if !defined(PVR_NO_OMAP_TIMER)
+ IMG_CPU_PHYADDR TimerRegPhysBase;
+#endif
+#if !defined(SGX_DYNAMIC_TIMING_INFO)
+ SGX_TIMING_INFORMATION* psTimingInfo;
+#endif
+ gpsSysData = &gsSysData;
+ OSMemSet(gpsSysData, 0, sizeof(SYS_DATA));
+
+ gpsSysSpecificData = &gsSysSpecificData;
+ OSMemSet(gpsSysSpecificData, 0, sizeof(SYS_SPECIFIC_DATA));
+
+ gpsSysData->pvSysSpecificData = gpsSysSpecificData;
+
+ eError = OSInitEnvData(&gpsSysData->pvEnvSpecificData);
+ if (eError != PVRSRV_OK)
+ {
+ PVR_DPF((PVR_DBG_ERROR,"SysInitialise: Failed to setup env structure"));
+ (IMG_VOID)SysDeinitialise(gpsSysData);
+ gpsSysData = IMG_NULL;
+ return eError;
+ }
+ SYS_SPECIFIC_DATA_SET(&gsSysSpecificData, SYS_SPECIFIC_DATA_ENABLE_ENVDATA);
+
+ gpsSysData->ui32NumDevices = SYS_DEVICE_COUNT;
+
+ /* init device ID's */
+ for(i=0; i<SYS_DEVICE_COUNT; i++)
+ {
+ gpsSysData->sDeviceID[i].uiID = i;
+ gpsSysData->sDeviceID[i].bInUse = IMG_FALSE;
+ }
+
+ gpsSysData->psDeviceNodeList = IMG_NULL;
+ gpsSysData->psQueueList = IMG_NULL;
+
+ eError = SysInitialiseCommon(gpsSysData);
+ if (eError != PVRSRV_OK)
+ {
+ PVR_DPF((PVR_DBG_ERROR,"SysInitialise: Failed in SysInitialiseCommon"));
+ (IMG_VOID)SysDeinitialise(gpsSysData);
+ gpsSysData = IMG_NULL;
+ return eError;
+ }
+
+#if !defined(SGX_DYNAMIC_TIMING_INFO)
+ /* Set up timing information*/
+ psTimingInfo = &gsSGXDeviceMap.sTimingInfo;
+ psTimingInfo->ui32CoreClockSpeed = SYS_SGX_CLOCK_SPEED;
+ psTimingInfo->ui32HWRecoveryFreq = SYS_SGX_HWRECOVERY_TIMEOUT_FREQ;
+#if defined(SUPPORT_ACTIVE_POWER_MANAGEMENT)
+ psTimingInfo->bEnableActivePM = IMG_TRUE;
+#else
+ psTimingInfo->bEnableActivePM = IMG_FALSE;
+#endif /* SUPPORT_ACTIVE_POWER_MANAGEMENT */
+ psTimingInfo->ui32ActivePowManLatencyms = SYS_SGX_ACTIVE_POWER_LATENCY_MS;
+ psTimingInfo->ui32uKernelFreq = SYS_SGX_PDS_TIMER_FREQ;
+#endif
+
+ /*
+ Setup the Source Clock Divider value
+ */
+ gpsSysSpecificData->ui32SrcClockDiv = 3;
+
+ /*
+ Locate the devices within the system, specifying
+ the physical addresses of each devices components
+ (regs, mem, ports etc.)
+ */
+ eError = SysLocateDevices(gpsSysData);
+ if (eError != PVRSRV_OK)
+ {
+ PVR_DPF((PVR_DBG_ERROR,"SysInitialise: Failed to locate devices"));
+ (IMG_VOID)SysDeinitialise(gpsSysData);
+ gpsSysData = IMG_NULL;
+ return eError;
+ }
+ SYS_SPECIFIC_DATA_SET(&gsSysSpecificData, SYS_SPECIFIC_DATA_ENABLE_LOCATEDEV);
+
+ eError = SysPMRuntimeRegister();
+ if (eError != PVRSRV_OK)
+ {
+ PVR_DPF((PVR_DBG_ERROR,"SysInitialise: Failed to register with OSPM!"));
+ (IMG_VOID)SysDeinitialise(gpsSysData);
+ gpsSysData = IMG_NULL;
+ return eError;
+ }
+ SYS_SPECIFIC_DATA_SET(&gsSysSpecificData, SYS_SPECIFIC_DATA_ENABLE_PM_RUNTIME);
+
+ eError = SysDvfsInitialize(gpsSysSpecificData);
+ if (eError != PVRSRV_OK)
+ {
+ PVR_DPF((PVR_DBG_ERROR,"SysInitialise: Failed to initialize DVFS"));
+ (IMG_VOID)SysDeinitialise(gpsSysData);
+ gpsSysData = IMG_NULL;
+ return eError;
+ }
+ SYS_SPECIFIC_DATA_SET(&gsSysSpecificData, SYS_SPECIFIC_DATA_DVFS_INIT);
+
+ /*
+ Register devices with the system
+ This also sets up their memory maps/heaps
+ */
+ eError = PVRSRVRegisterDevice(gpsSysData, SGXRegisterDevice,
+ DEVICE_SGX_INTERRUPT, &gui32SGXDeviceID);
+ if (eError != PVRSRV_OK)
+ {
+ PVR_DPF((PVR_DBG_ERROR,"SysInitialise: Failed to register device!"));
+ (IMG_VOID)SysDeinitialise(gpsSysData);
+ gpsSysData = IMG_NULL;
+ return eError;
+ }
+ SYS_SPECIFIC_DATA_SET(&gsSysSpecificData, SYS_SPECIFIC_DATA_ENABLE_REGDEV);
+
+ /*
+ Once all devices are registered, specify the backing store
+ and, if required, customise the memory heap config
+ */
+ psDeviceNode = gpsSysData->psDeviceNodeList;
+ while(psDeviceNode)
+ {
+ /* perform any OEM SOC address space customisations here */
+ switch(psDeviceNode->sDevId.eDeviceType)
+ {
+ case PVRSRV_DEVICE_TYPE_SGX:
+ {
+ DEVICE_MEMORY_INFO *psDevMemoryInfo;
+ DEVICE_MEMORY_HEAP_INFO *psDeviceMemoryHeap;
+
+ /*
+ specify the backing store to use for the devices MMU PT/PDs
+ - the PT/PDs are always UMA in this system
+ */
+ psDeviceNode->psLocalDevMemArena = IMG_NULL;
+
+ /* useful pointers */
+ psDevMemoryInfo = &psDeviceNode->sDevMemoryInfo;
+ psDeviceMemoryHeap = psDevMemoryInfo->psDeviceMemoryHeap;
+
+ /* specify the backing store for all SGX heaps */
+ for(i=0; i<psDevMemoryInfo->ui32HeapCount; i++)
+ {
+ psDeviceMemoryHeap[i].ui32Attribs |= PVRSRV_BACKINGSTORE_SYSMEM_NONCONTIG;
+ }
+
+ gpsSGXDevNode = psDeviceNode;
+ gsSysSpecificData.psSGXDevNode = psDeviceNode;
+
+ break;
+ }
+ default:
+ PVR_DPF((PVR_DBG_ERROR,"SysInitialise: Failed to find SGX device node!"));
+ return PVRSRV_ERROR_INIT_FAILURE;
+ }
+
+ /* advance to next device */
+ psDeviceNode = psDeviceNode->psNext;
+ }
+
+ eError = EnableSystemClocksWrap(gpsSysData);
+ if (eError != PVRSRV_OK)
+ {
+ PVR_DPF((PVR_DBG_ERROR,"SysInitialise: Failed to Enable system clocks (%d)", eError));
+ (IMG_VOID)SysDeinitialise(gpsSysData);
+ gpsSysData = IMG_NULL;
+ return eError;
+ }
+ SYS_SPECIFIC_DATA_SET(&gsSysSpecificData, SYS_SPECIFIC_DATA_ENABLE_SYSCLOCKS);
+#if defined(SUPPORT_ACTIVE_POWER_MANAGEMENT)
+ eError = EnableSGXClocksWrap(gpsSysData);
+ if (eError != PVRSRV_OK)
+ {
+ PVR_DPF((PVR_DBG_ERROR,"SysInitialise: Failed to Enable SGX clocks (%d)", eError));
+ (IMG_VOID)SysDeinitialise(gpsSysData);
+ gpsSysData = IMG_NULL;
+ return eError;
+ }
+#endif /* SUPPORT_ACTIVE_POWER_MANAGEMENT */
+
+ eError = PVRSRVInitialiseDevice(gui32SGXDeviceID);
+ if (eError != PVRSRV_OK)
+ {
+ PVR_DPF((PVR_DBG_ERROR,"SysInitialise: Failed to initialise device!"));
+ (IMG_VOID)SysDeinitialise(gpsSysData);
+ gpsSysData = IMG_NULL;
+ return eError;
+ }
+ SYS_SPECIFIC_DATA_SET(&gsSysSpecificData, SYS_SPECIFIC_DATA_ENABLE_INITDEV);
+
+#if defined(SUPPORT_ACTIVE_POWER_MANAGEMENT)
+ /* SGX defaults to D3 power state */
+ DisableSGXClocks(gpsSysData);
+#endif /* SUPPORT_ACTIVE_POWER_MANAGEMENT */
+
+#if !defined(PVR_NO_OMAP_TIMER)
+#if defined(PVR_OMAP_TIMER_BASE_IN_SYS_SPEC_DATA)
+ TimerRegPhysBase = gsSysSpecificData.sTimerRegPhysBase;
+#else
+ TimerRegPhysBase.uiAddr = SYS_OMAP5430_GP11TIMER_REGS_SYS_PHYS_BASE;
+#endif
+ gpsSysData->pvSOCTimerRegisterKM = IMG_NULL;
+ gpsSysData->hSOCTimerRegisterOSMemHandle = 0;
+ if (TimerRegPhysBase.uiAddr != 0)
+ {
+ OSReservePhys(TimerRegPhysBase,
+ 4,
+ PVRSRV_HAP_MULTI_PROCESS|PVRSRV_HAP_UNCACHED,
+ IMG_NULL,
+ (IMG_VOID **)&gpsSysData->pvSOCTimerRegisterKM,
+ &gpsSysData->hSOCTimerRegisterOSMemHandle);
+ }
+#endif /* !defined(PVR_NO_OMAP_TIMER) */
+
+
+ return PVRSRV_OK;
+}
+
+
+/*!
+******************************************************************************
+
+ @Function SysFinalise
+
+ @Description Final part of initialisation at 'driver load' time
+
+ @Return PVRSRV_ERROR :
+
+******************************************************************************/
+PVRSRV_ERROR SysFinalise(IMG_VOID)
+{
+ PVRSRV_ERROR eError = PVRSRV_OK;
+
+#if defined(SUPPORT_ACTIVE_POWER_MANAGEMENT)
+ eError = EnableSGXClocksWrap(gpsSysData);
+ if (eError != PVRSRV_OK)
+ {
+ PVR_DPF((PVR_DBG_ERROR,"SysFinalise: Failed to Enable SGX clocks (%d)", eError));
+ return eError;
+ }
+#endif /* SUPPORT_ACTIVE_POWER_MANAGEMENT */
+
+ eError = OSInstallMISR(gpsSysData);
+ if (eError != PVRSRV_OK)
+ {
+ PVR_DPF((PVR_DBG_ERROR,"SysFinalise: Failed to install MISR"));
+ return eError;
+ }
+ SYS_SPECIFIC_DATA_SET(&gsSysSpecificData, SYS_SPECIFIC_DATA_ENABLE_MISR);
+
+#if defined(SYS_USING_INTERRUPTS)
+ /* install a Device ISR */
+ eError = OSInstallDeviceLISR(gpsSysData, gsSGXDeviceMap.ui32IRQ, "SGX ISR", gpsSGXDevNode);
+ if (eError != PVRSRV_OK)
+ {
+ PVR_DPF((PVR_DBG_ERROR,"SysFinalise: Failed to install ISR"));
+ return eError;
+ }
+ SYS_SPECIFIC_DATA_SET(&gsSysSpecificData, SYS_SPECIFIC_DATA_ENABLE_LISR);
+#if !defined(SUPPORT_ACTIVE_POWER_MANAGEMENT)
+ SysEnableSGXInterrupts(gpsSysData);
+#endif
+#endif /* defined(SYS_USING_INTERRUPTS) */
+#if defined(__linux__)
+ /* Create a human readable version string for this system */
+ gpsSysData->pszVersionString = SysCreateVersionString();
+ if (!gpsSysData->pszVersionString)
+ {
+ PVR_DPF((PVR_DBG_ERROR,"SysFinalise: Failed to create a system version string"));
+ return PVRSRV_ERROR_INIT_FAILURE;
+ }
+ else
+ {
+ PVR_TRACE(("SysFinalise: Version string: %s", gpsSysData->pszVersionString));
+ }
+#endif
+
+#if defined(SUPPORT_ACTIVE_POWER_MANAGEMENT)
+ /* SGX defaults to D3 power state */
+ DisableSGXClocks(gpsSysData);
+#endif /* SUPPORT_ACTIVE_POWER_MANAGEMENT */
+
+ gpsSysSpecificData->bSGXInitComplete = IMG_TRUE;
+
+ return eError;
+}
+
+
+/*!
+******************************************************************************
+
+ @Function SysDeinitialise
+
+ @Description De-initialises kernel services at 'driver unload' time
+
+ @Return PVRSRV_ERROR
+
+******************************************************************************/
+PVRSRV_ERROR SysDeinitialise (SYS_DATA *psSysData)
+{
+ PVRSRV_ERROR eError;
+
+ PVR_UNREFERENCED_PARAMETER(psSysData);
+
+ if(gpsSysData->pvSOCTimerRegisterKM)
+ {
+ OSUnReservePhys(gpsSysData->pvSOCTimerRegisterKM,
+ 4,
+ PVRSRV_HAP_MULTI_PROCESS|PVRSRV_HAP_UNCACHED,
+ gpsSysData->hSOCTimerRegisterOSMemHandle);
+ }
+
+
+#if defined(SYS_USING_INTERRUPTS)
+ if (SYS_SPECIFIC_DATA_TEST(gpsSysSpecificData, SYS_SPECIFIC_DATA_ENABLE_LISR))
+ {
+ eError = OSUninstallDeviceLISR(gpsSysData);
+ if (eError != PVRSRV_OK)
+ {
+ PVR_DPF((PVR_DBG_ERROR,"SysDeinitialise: OSUninstallDeviceLISR failed"));
+ return eError;
+ }
+ }
+#endif
+
+ if (SYS_SPECIFIC_DATA_TEST(gpsSysSpecificData, SYS_SPECIFIC_DATA_ENABLE_MISR))
+ {
+ eError = OSUninstallMISR(gpsSysData);
+ if (eError != PVRSRV_OK)
+ {
+ PVR_DPF((PVR_DBG_ERROR,"SysDeinitialise: OSUninstallMISR failed"));
+ return eError;
+ }
+ }
+
+ if (SYS_SPECIFIC_DATA_TEST(gpsSysSpecificData, SYS_SPECIFIC_DATA_ENABLE_INITDEV))
+ {
+#if defined(SUPPORT_ACTIVE_POWER_MANAGEMENT)
+ PVR_ASSERT(SYS_SPECIFIC_DATA_TEST(gpsSysSpecificData, SYS_SPECIFIC_DATA_ENABLE_SYSCLOCKS));
+ /* Reenable SGX clocks whilst SGX is being deinitialised. */
+ eError = EnableSGXClocksWrap(gpsSysData);
+ if (eError != PVRSRV_OK)
+ {
+ PVR_DPF((PVR_DBG_ERROR,"SysDeinitialise: EnableSGXClocks failed"));
+ return eError;
+ }
+#endif /* SUPPORT_ACTIVE_POWER_MANAGEMENT */
+
+ /* Deinitialise SGX */
+ eError = PVRSRVDeinitialiseDevice (gui32SGXDeviceID);
+ if (eError != PVRSRV_OK)
+ {
+ PVR_DPF((PVR_DBG_ERROR,"SysDeinitialise: failed to de-init the device"));
+ return eError;
+ }
+ }
+
+ if (SYS_SPECIFIC_DATA_TEST(gpsSysSpecificData, SYS_SPECIFIC_DATA_DVFS_INIT))
+ {
+ eError = SysDvfsDeinitialize(gpsSysSpecificData);
+ if (eError != PVRSRV_OK)
+ {
+ PVR_DPF((PVR_DBG_ERROR,"SysDeinitialise: Failed to de-init DVFS"));
+ gpsSysData = IMG_NULL;
+ return eError;
+ }
+ }
+
+ if (SYS_SPECIFIC_DATA_TEST(gpsSysSpecificData, SYS_SPECIFIC_DATA_ENABLE_PM_RUNTIME))
+ {
+ eError = SysPMRuntimeUnregister();
+ if (eError != PVRSRV_OK)
+ {
+ PVR_DPF((PVR_DBG_ERROR,"SysDeinitialise: Failed to unregister with OSPM!"));
+ gpsSysData = IMG_NULL;
+ return eError;
+ }
+ }
+
+ /*
+ Disable system clocks - must happen after last access to hardware.
+ */
+ if (SYS_SPECIFIC_DATA_TEST(gpsSysSpecificData, SYS_SPECIFIC_DATA_ENABLE_SYSCLOCKS))
+ {
+ DisableSystemClocks(gpsSysData);
+ }
+
+ if (SYS_SPECIFIC_DATA_TEST(gpsSysSpecificData, SYS_SPECIFIC_DATA_ENABLE_ENVDATA))
+ {
+ eError = OSDeInitEnvData(gpsSysData->pvEnvSpecificData);
+ if (eError != PVRSRV_OK)
+ {
+ PVR_DPF((PVR_DBG_ERROR,"SysDeinitialise: failed to de-init env structure"));
+ return eError;
+ }
+ }
+
+ SysDeinitialiseCommon(gpsSysData);
+
+#if defined(NO_HARDWARE) || defined(SGX_OCP_REGS_ENABLED)
+ if(gsSGXRegsCPUVAddr != IMG_NULL)
+ {
+#if defined(NO_HARDWARE)
+ /* Free hardware resources. */
+ OSBaseFreeContigMemory(SYS_OMAP5430_SGX_REGS_SIZE, gsSGXRegsCPUVAddr, gsSGXDeviceMap.sRegsCpuPBase);
+#else
+#if defined(SGX_OCP_REGS_ENABLED)
+ OSUnMapPhysToLin(gsSGXRegsCPUVAddr,
+ gsSGXDeviceMap.ui32RegsSize,
+ PVRSRV_HAP_UNCACHED|PVRSRV_HAP_KERNEL_ONLY,
+ IMG_NULL);
+
+ gpvOCPRegsLinAddr = IMG_NULL;
+#endif
+#endif /* defined(NO_HARDWARE) */
+ gsSGXRegsCPUVAddr = IMG_NULL;
+ gsSGXDeviceMap.pvRegsCpuVBase = gsSGXRegsCPUVAddr;
+ }
+#endif /* defined(NO_HARDWARE) || defined(SGX_OCP_REGS_ENABLED) */
+
+
+ gpsSysSpecificData->ui32SysSpecificData = 0;
+ gpsSysSpecificData->bSGXInitComplete = IMG_FALSE;
+
+ gpsSysData = IMG_NULL;
+
+ return PVRSRV_OK;
+}
+
+
+/*!
+******************************************************************************
+
+ @Function SysGetDeviceMemoryMap
+
+ @Description returns a device address map for the specified device
+
+ @Input eDeviceType - device type
+ @Input ppvDeviceMap - void ptr to receive device specific info.
+
+ @Return PVRSRV_ERROR
+
+******************************************************************************/
+PVRSRV_ERROR SysGetDeviceMemoryMap(PVRSRV_DEVICE_TYPE eDeviceType,
+ IMG_VOID **ppvDeviceMap)
+{
+
+ switch(eDeviceType)
+ {
+ case PVRSRV_DEVICE_TYPE_SGX:
+ {
+ /* just return a pointer to the structure */
+ *ppvDeviceMap = (IMG_VOID*)&gsSGXDeviceMap;
+
+ break;
+ }
+ default:
+ {
+ PVR_DPF((PVR_DBG_ERROR,"SysGetDeviceMemoryMap: unsupported device type"));
+ }
+ }
+ return PVRSRV_OK;
+}
+
+
+/*!
+******************************************************************************
+ @Function SysCpuPAddrToDevPAddr
+
+ @Description Compute a device physical address from a cpu physical
+ address. Relevant when
+
+ @Input cpu_paddr - cpu physical address.
+ @Input eDeviceType - device type required if DevPAddr
+ address spaces vary across devices
+ in the same system
+ @Return device physical address.
+
+******************************************************************************/
+IMG_DEV_PHYADDR SysCpuPAddrToDevPAddr(PVRSRV_DEVICE_TYPE eDeviceType,
+ IMG_CPU_PHYADDR CpuPAddr)
+{
+ IMG_DEV_PHYADDR DevPAddr;
+
+ PVR_UNREFERENCED_PARAMETER(eDeviceType);
+
+ /* Note: for UMA system we assume DevP == CpuP */
+ DevPAddr.uiAddr = CpuPAddr.uiAddr;
+
+ return DevPAddr;
+}
+
+/*!
+******************************************************************************
+ @Function SysSysPAddrToCpuPAddr
+
+ @Description Compute a cpu physical address from a system physical
+ address.
+
+ @Input sys_paddr - system physical address.
+ @Return cpu physical address.
+
+******************************************************************************/
+IMG_CPU_PHYADDR SysSysPAddrToCpuPAddr (IMG_SYS_PHYADDR sys_paddr)
+{
+ IMG_CPU_PHYADDR cpu_paddr;
+
+ /* This would only be an inequality if the CPU's MMU did not point to
+ sys address 0, ie. multi CPU system */
+ cpu_paddr.uiAddr = sys_paddr.uiAddr;
+ return cpu_paddr;
+}
+
+/*!
+******************************************************************************
+ @Function SysCpuPAddrToSysPAddr
+
+ @Description Compute a system physical address from a cpu physical
+ address.
+
+ @Input cpu_paddr - cpu physical address.
+ @Return device physical address.
+
+******************************************************************************/
+IMG_SYS_PHYADDR SysCpuPAddrToSysPAddr (IMG_CPU_PHYADDR cpu_paddr)
+{
+ IMG_SYS_PHYADDR sys_paddr;
+
+ /* This would only be an inequality if the CPU's MMU did not point to
+ sys address 0, ie. multi CPU system */
+ sys_paddr.uiAddr = cpu_paddr.uiAddr;
+ return sys_paddr;
+}
+
+
+/*!
+******************************************************************************
+ @Function SysSysPAddrToDevPAddr
+
+ @Description Compute a device physical address from a system physical
+ address.
+
+ @Input SysPAddr - system physical address.
+ @Input eDeviceType - device type required if DevPAddr
+ address spaces vary across devices
+ in the same system
+
+ @Return Device physical address.
+
+******************************************************************************/
+IMG_DEV_PHYADDR SysSysPAddrToDevPAddr(PVRSRV_DEVICE_TYPE eDeviceType, IMG_SYS_PHYADDR SysPAddr)
+{
+ IMG_DEV_PHYADDR DevPAddr;
+
+ PVR_UNREFERENCED_PARAMETER(eDeviceType);
+
+ /* Note: for UMA system we assume DevP == CpuP */
+ DevPAddr.uiAddr = SysPAddr.uiAddr;
+
+ return DevPAddr;
+}
+
+
+/*!
+******************************************************************************
+ @Function SysDevPAddrToSysPAddr
+
+ @Description Compute a device physical address from a system physical
+ address.
+
+ @Input DevPAddr - device physical address.
+ @Input eDeviceType - device type required if DevPAddr
+ address spaces vary across devices
+ in the same system
+
+ @Return System physical address.
+
+******************************************************************************/
+IMG_SYS_PHYADDR SysDevPAddrToSysPAddr(PVRSRV_DEVICE_TYPE eDeviceType, IMG_DEV_PHYADDR DevPAddr)
+{
+ IMG_SYS_PHYADDR SysPAddr;
+
+ PVR_UNREFERENCED_PARAMETER(eDeviceType);
+
+ /* Note: for UMA system we assume DevP == SysP */
+ SysPAddr.uiAddr = DevPAddr.uiAddr;
+
+ return SysPAddr;
+}
+
+
+/*****************************************************************************
+ @Function SysRegisterExternalDevice
+
+ @Description Called when a 3rd party device registers with services
+
+ @Input psDeviceNode - the new device node.
+
+ @Return IMG_VOID
+*****************************************************************************/
+IMG_VOID SysRegisterExternalDevice(PVRSRV_DEVICE_NODE *psDeviceNode)
+{
+ PVR_UNREFERENCED_PARAMETER(psDeviceNode);
+}
+
+
+/*****************************************************************************
+ @Function SysRemoveExternalDevice
+
+ @Description Called when a 3rd party device unregisters from services
+
+ @Input psDeviceNode - the device node being removed.
+
+ @Return IMG_VOID
+*****************************************************************************/
+IMG_VOID SysRemoveExternalDevice(PVRSRV_DEVICE_NODE *psDeviceNode)
+{
+ PVR_UNREFERENCED_PARAMETER(psDeviceNode);
+}
+
+/*!
+******************************************************************************
+ @Function SysGetInterruptSource
+
+ @Description Returns System specific information about the device(s) that
+ generated the interrupt in the system
+
+ @Input psSysData
+ @Input psDeviceNode
+
+ @Return System specific information indicating which device(s)
+ generated the interrupt
+
+******************************************************************************/
+IMG_UINT32 SysGetInterruptSource(SYS_DATA *psSysData,
+ PVRSRV_DEVICE_NODE *psDeviceNode)
+{
+ PVR_UNREFERENCED_PARAMETER(psSysData);
+#if defined(NO_HARDWARE)
+ /* no interrupts in no_hw system just return all bits */
+ return 0xFFFFFFFF;
+#else
+ /* Not a shared irq, so we know this is an interrupt for this device */
+ return psDeviceNode->ui32SOCInterruptBit;
+#endif
+}
+
+
+/*!
+******************************************************************************
+ @Function SysClearInterrupts
+
+ @Description Clears specified system interrupts
+
+ @Input psSysData
+ @Input ui32ClearBits
+
+ @Return IMG_VOID
+
+******************************************************************************/
+IMG_VOID SysClearInterrupts(SYS_DATA* psSysData, IMG_UINT32 ui32ClearBits)
+{
+ PVR_UNREFERENCED_PARAMETER(ui32ClearBits);
+ PVR_UNREFERENCED_PARAMETER(psSysData);
+#if !defined(NO_HARDWARE)
+#if defined(SGX_OCP_NO_INT_BYPASS)
+ OSWriteHWReg(gpvOCPRegsLinAddr, EUR_CR_OCP_IRQSTATUS_2, 0x1);
+#endif
+ /* Flush posted writes */
+ OSReadHWReg(((PVRSRV_SGXDEV_INFO *)gpsSGXDevNode->pvDevice)->pvRegsBaseKM, EUR_CR_EVENT_HOST_CLEAR);
+#endif /* defined(NO_HARDWARE) */
+}
+
+#if defined(SGX_OCP_NO_INT_BYPASS)
+/*!
+******************************************************************************
+ @Function SysEnableSGXInterrupts
+
+ @Description Enables SGX interrupts
+
+ @Input psSysData
+
+ @Return IMG_VOID
+
+******************************************************************************/
+IMG_VOID SysEnableSGXInterrupts(SYS_DATA *psSysData)
+{
+ SYS_SPECIFIC_DATA *psSysSpecData = (SYS_SPECIFIC_DATA *)psSysData->pvSysSpecificData;
+ if (SYS_SPECIFIC_DATA_TEST(psSysSpecData, SYS_SPECIFIC_DATA_ENABLE_LISR) && !SYS_SPECIFIC_DATA_TEST(psSysSpecData, SYS_SPECIFIC_DATA_IRQ_ENABLED))
+ {
+ OSWriteHWReg(gpvOCPRegsLinAddr, EUR_CR_OCP_IRQSTATUS_2, 0x1);
+ OSWriteHWReg(gpvOCPRegsLinAddr, EUR_CR_OCP_IRQENABLE_SET_2, 0x1);
+ SYS_SPECIFIC_DATA_SET(psSysSpecData, SYS_SPECIFIC_DATA_IRQ_ENABLED);
+ }
+}
+
+/*!
+******************************************************************************
+ @Function SysDisableSGXInterrupts
+
+ @Description Disables SGX interrupts
+
+ @Input psSysData
+
+ @Return IMG_VOID
+
+******************************************************************************/
+IMG_VOID SysDisableSGXInterrupts(SYS_DATA *psSysData)
+{
+ SYS_SPECIFIC_DATA *psSysSpecData = (SYS_SPECIFIC_DATA *)psSysData->pvSysSpecificData;
+
+ if (SYS_SPECIFIC_DATA_TEST(psSysSpecData, SYS_SPECIFIC_DATA_IRQ_ENABLED))
+ {
+ OSWriteHWReg(gpvOCPRegsLinAddr, EUR_CR_OCP_IRQENABLE_CLR_2, 0x1);
+ SYS_SPECIFIC_DATA_CLEAR(psSysSpecData, SYS_SPECIFIC_DATA_IRQ_ENABLED);
+ }
+}
+#endif /* defined(SGX_OCP_NO_INT_BYPASS) */
+
+/*!
+******************************************************************************
+
+ @Function SysSystemPrePowerState
+
+ @Description Perform system-level processing required before a power transition
+
+ @Input eNewPowerState :
+
+ @Return PVRSRV_ERROR
+
+******************************************************************************/
+PVRSRV_ERROR SysSystemPrePowerState(PVRSRV_SYS_POWER_STATE eNewPowerState)
+{
+ PVRSRV_ERROR eError = PVRSRV_OK;
+
+ if (eNewPowerState == PVRSRV_SYS_POWER_STATE_D3)
+ {
+ PVR_TRACE(("SysSystemPrePowerState: Entering state D3"));
+
+#if defined(SYS_USING_INTERRUPTS)
+ if (SYS_SPECIFIC_DATA_TEST(&gsSysSpecificData, SYS_SPECIFIC_DATA_ENABLE_LISR))
+ {
+#if defined(SYS_CUSTOM_POWERLOCK_WRAP)
+ IMG_BOOL bWrapped = WrapSystemPowerChange(&gsSysSpecificData);
+#endif
+ eError = OSUninstallDeviceLISR(gpsSysData);
+#if defined(SYS_CUSTOM_POWERLOCK_WRAP)
+ if (bWrapped)
+ {
+ UnwrapSystemPowerChange(&gsSysSpecificData);
+ }
+#endif
+ if (eError != PVRSRV_OK)
+ {
+ PVR_DPF((PVR_DBG_ERROR,"SysSystemPrePowerState: OSUninstallDeviceLISR failed (%d)", eError));
+ return eError;
+ }
+ SYS_SPECIFIC_DATA_SET(&gsSysSpecificData, SYS_SPECIFIC_DATA_PM_UNINSTALL_LISR);
+ SYS_SPECIFIC_DATA_CLEAR(&gsSysSpecificData, SYS_SPECIFIC_DATA_ENABLE_LISR);
+ }
+#endif
+
+ if (SYS_SPECIFIC_DATA_TEST(&gsSysSpecificData, SYS_SPECIFIC_DATA_ENABLE_SYSCLOCKS))
+ {
+ DisableSystemClocks(gpsSysData);
+
+ SYS_SPECIFIC_DATA_SET(&gsSysSpecificData, SYS_SPECIFIC_DATA_PM_DISABLE_SYSCLOCKS);
+ SYS_SPECIFIC_DATA_CLEAR(&gsSysSpecificData, SYS_SPECIFIC_DATA_ENABLE_SYSCLOCKS);
+ }
+ }
+
+ return eError;
+}
+
+
+/*!
+******************************************************************************
+
+ @Function SysSystemPostPowerState
+
+ @Description Perform system-level processing required after a power transition
+
+ @Input eNewPowerState :
+
+ @Return PVRSRV_ERROR
+
+******************************************************************************/
+PVRSRV_ERROR SysSystemPostPowerState(PVRSRV_SYS_POWER_STATE eNewPowerState)
+{
+ PVRSRV_ERROR eError = PVRSRV_OK;
+
+ if (eNewPowerState == PVRSRV_SYS_POWER_STATE_D0)
+ {
+ PVR_TRACE(("SysSystemPostPowerState: Entering state D0"));
+
+ if (SYS_SPECIFIC_DATA_TEST(&gsSysSpecificData, SYS_SPECIFIC_DATA_PM_DISABLE_SYSCLOCKS))
+ {
+ eError = EnableSystemClocksWrap(gpsSysData);
+ if (eError != PVRSRV_OK)
+ {
+ PVR_DPF((PVR_DBG_ERROR,"SysSystemPostPowerState: EnableSystemClocksWrap failed (%d)", eError));
+ return eError;
+ }
+ SYS_SPECIFIC_DATA_SET(&gsSysSpecificData, SYS_SPECIFIC_DATA_ENABLE_SYSCLOCKS);
+ SYS_SPECIFIC_DATA_CLEAR(&gsSysSpecificData, SYS_SPECIFIC_DATA_PM_DISABLE_SYSCLOCKS);
+ }
+
+#if defined(SYS_USING_INTERRUPTS)
+ if (SYS_SPECIFIC_DATA_TEST(&gsSysSpecificData, SYS_SPECIFIC_DATA_PM_UNINSTALL_LISR))
+ {
+#if defined(SYS_CUSTOM_POWERLOCK_WRAP)
+ IMG_BOOL bWrapped = WrapSystemPowerChange(&gsSysSpecificData);
+#endif
+
+ eError = OSInstallDeviceLISR(gpsSysData, gsSGXDeviceMap.ui32IRQ, "SGX ISR", gpsSGXDevNode);
+#if defined(SYS_CUSTOM_POWERLOCK_WRAP)
+ if (bWrapped)
+ {
+ UnwrapSystemPowerChange(&gsSysSpecificData);
+ }
+#endif
+ if (eError != PVRSRV_OK)
+ {
+ PVR_DPF((PVR_DBG_ERROR,"SysSystemPostPowerState: OSInstallDeviceLISR failed to install ISR (%d)", eError));
+ return eError;
+ }
+ SYS_SPECIFIC_DATA_SET(&gsSysSpecificData, SYS_SPECIFIC_DATA_ENABLE_LISR);
+ SYS_SPECIFIC_DATA_CLEAR(&gsSysSpecificData, SYS_SPECIFIC_DATA_PM_UNINSTALL_LISR);
+ }
+#endif
+ }
+ return eError;
+}
+
+
+/*!
+******************************************************************************
+
+ @Function SysDevicePrePowerState
+
+ @Description Perform system level processing required before a device power
+ transition
+
+ @Input ui32DeviceIndex :
+ @Input eNewPowerState :
+ @Input eCurrentPowerState :
+
+ @Return PVRSRV_ERROR
+
+******************************************************************************/
+PVRSRV_ERROR SysDevicePrePowerState(IMG_UINT32 ui32DeviceIndex,
+ PVRSRV_DEV_POWER_STATE eNewPowerState,
+ PVRSRV_DEV_POWER_STATE eCurrentPowerState)
+{
+ PVR_UNREFERENCED_PARAMETER(eCurrentPowerState);
+
+ if (ui32DeviceIndex != gui32SGXDeviceID)
+ {
+ return PVRSRV_OK;
+ }
+
+#if defined(SUPPORT_ACTIVE_POWER_MANAGEMENT)
+ if (eNewPowerState == PVRSRV_DEV_POWER_STATE_OFF)
+ {
+ PVR_DPF((PVR_DBG_MESSAGE, "SysDevicePrePowerState: SGX Entering state D3"));
+ DisableSGXClocks(gpsSysData);
+ }
+#else /* SUPPORT_ACTIVE_POWER_MANAGEMENT */
+ PVR_UNREFERENCED_PARAMETER(eNewPowerState );
+#endif /* SUPPORT_ACTIVE_POWER_MANAGEMENT */
+ return PVRSRV_OK;
+}
+
+
+/*!
+******************************************************************************
+
+ @Function SysDevicePostPowerState
+
+ @Description Perform system level processing required after a device power
+ transition
+
+ @Input ui32DeviceIndex :
+ @Input eNewPowerState :
+ @Input eCurrentPowerState :
+
+ @Return PVRSRV_ERROR
+
+******************************************************************************/
+PVRSRV_ERROR SysDevicePostPowerState(IMG_UINT32 ui32DeviceIndex,
+ PVRSRV_DEV_POWER_STATE eNewPowerState,
+ PVRSRV_DEV_POWER_STATE eCurrentPowerState)
+{
+ PVRSRV_ERROR eError = PVRSRV_OK;
+
+ PVR_UNREFERENCED_PARAMETER(eNewPowerState);
+
+ if (ui32DeviceIndex != gui32SGXDeviceID)
+ {
+ return eError;
+ }
+
+#if defined(SUPPORT_ACTIVE_POWER_MANAGEMENT)
+ if (eCurrentPowerState == PVRSRV_DEV_POWER_STATE_OFF)
+ {
+ PVR_DPF((PVR_DBG_MESSAGE, "SysDevicePostPowerState: SGX Leaving state D3"));
+ eError = EnableSGXClocksWrap(gpsSysData);
+ }
+#else /* SUPPORT_ACTIVE_POWER_MANAGEMENT */
+ PVR_UNREFERENCED_PARAMETER(eCurrentPowerState);
+#endif /* SUPPORT_ACTIVE_POWER_MANAGEMENT */
+
+ return eError;
+}
+
+#if defined(SYS_SUPPORTS_SGX_IDLE_CALLBACK)
+
+IMG_VOID SysSGXIdleTransition(IMG_BOOL bSGXIdle)
+{
+ PVR_DPF((PVR_DBG_MESSAGE, "SysSGXIdleTransition switch to %u", bSGXIdle));
+}
+
+#endif /* defined(SYS_SUPPORTS_SGX_IDLE_CALLBACK) */
+
+/*****************************************************************************
+ @Function SysOEMFunction
+
+ @Description marshalling function for custom OEM functions
+
+ @Input ui32ID - function ID
+ @Input pvIn - in data
+ @Output pvOut - out data
+
+ @Return PVRSRV_ERROR
+*****************************************************************************/
+PVRSRV_ERROR SysOEMFunction ( IMG_UINT32 ui32ID,
+ IMG_VOID *pvIn,
+ IMG_UINT32 ulInSize,
+ IMG_VOID *pvOut,
+ IMG_UINT32 ulOutSize)
+{
+ PVR_UNREFERENCED_PARAMETER(ui32ID);
+ PVR_UNREFERENCED_PARAMETER(pvIn);
+ PVR_UNREFERENCED_PARAMETER(ulInSize);
+ PVR_UNREFERENCED_PARAMETER(pvOut);
+ PVR_UNREFERENCED_PARAMETER(ulOutSize);
+
+ if ((ui32ID == OEM_GET_EXT_FUNCS) &&
+ (ulOutSize == sizeof(PVRSRV_DC_OEM_JTABLE)))
+ {
+ PVRSRV_DC_OEM_JTABLE *psOEMJTable = (PVRSRV_DC_OEM_JTABLE*) pvOut;
+ psOEMJTable->pfnOEMBridgeDispatch = &PVRSRV_BridgeDispatchKM;
+ return PVRSRV_OK;
+ }
+
+ return PVRSRV_ERROR_INVALID_PARAMS;
+}
+/******************************************************************************
+ End of file (sysconfig.c)
+******************************************************************************/
diff --git a/sgx/services4/system/omap5/sysconfig.h b/sgx/services4/system/omap5/sysconfig.h
new file mode 100644
index 0000000..f85c0d1
--- /dev/null
+++ b/sgx/services4/system/omap5/sysconfig.h
@@ -0,0 +1,102 @@
+/*************************************************************************/ /*!
+@Title System Description Header
+@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
+@Description This header provides system-specific declarations and macros
+@License Dual MIT/GPLv2
+
+The contents of this file are subject to the MIT license as set out below.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+Alternatively, the contents of this file may be used under the terms of
+the GNU General Public License Version 2 ("GPL") in which case the provisions
+of GPL are applicable instead of those above.
+
+If you wish to allow use of your version of this file only under the terms of
+GPL, and not to allow others to use your version of this file under the terms
+of the MIT license, indicate your decision by deleting the provisions above
+and replace them with the notice and other provisions required by GPL as set
+out in the file called "GPL-COPYING" included in this distribution. If you do
+not delete the provisions above, a recipient may use your version of this file
+under the terms of either the MIT license or GPL.
+
+This License is also included in this distribution in the file called
+"MIT-COPYING".
+
+EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
+PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+*/ /**************************************************************************/
+
+#if !defined(__SOCCONFIG_H__)
+#define __SOCCONFIG_H__
+
+#define VS_PRODUCT_NAME "OMAP5"
+
+#if defined(SGX544) && (SGX_CORE_REV == 105)
+#define SYS_SGX_CLOCK_SPEED 426000000
+#else
+#define SYS_SGX_CLOCK_SPEED 532000000
+#endif
+
+#define SYS_SGX_HWRECOVERY_TIMEOUT_FREQ (100) // 10ms (100hz)
+#define SYS_SGX_PDS_TIMER_FREQ (1000) // 1ms (1000hz)
+
+/* Allow the AP latency to be overridden in the build config */
+#if !defined(SYS_SGX_ACTIVE_POWER_LATENCY_MS)
+#define SYS_SGX_ACTIVE_POWER_LATENCY_MS (2)
+#endif
+
+
+#define SYS_OMAP5430_SGX_REGS_SYS_PHYS_BASE 0x56000000
+#define SYS_OMAP5430_SGX_REGS_SIZE 0xFFFF
+
+#define SYS_OMAP5430_SGX_IRQ 53 /* OMAP5 IRQ's are offset by 32 */
+
+#define SYS_OMAP5430_DSS_REGS_SYS_PHYS_BASE 0x58000000
+#define SYS_OMAP5430_DSS_REGS_SIZE 0x7000
+
+#define SYS_OMAP5430_DSS_HDMI_INTERRUPT_STATUS_REG 0x6028
+#define SYS_OMAP5430_DSS_HDMI_INTERRUPT_ENABLE_REG 0x602c
+
+#define SYS_OMAP5430_DSS_HDMI_INTERRUPT_VSYNC_ENABLE_MASK 0x10000
+#define SYS_OMAP5430_DSS_HDMI_INTERRUPT_VSYNC_STATUS_MASK 0x10000
+
+#define SYS_OMAP5430_DSS_LCD_INTERRUPT_STATUS_REG 0x1018
+#define SYS_OMAP5430_DSS_LCD_INTERRUPT_ENABLE_REG 0x101c
+
+#define SYS_OMAP5430_DSS_LCD_INTERRUPT_VSYNC_ENABLE_MASK 0x40002
+#define SYS_OMAP5430_DSS_LCD_INTERRUPT_VSYNC_STATUS_MASK 0x40002
+
+
+#define SYS_OMAP5430_GP11TIMER_ENABLE_SYS_PHYS_BASE 0x48088038
+#define SYS_OMAP5430_GP11TIMER_REGS_SYS_PHYS_BASE 0x4808803C
+#define SYS_OMAP5430_GP11TIMER_TSICR_SYS_PHYS_BASE 0x48088054
+
+/* Interrupt bits */
+#define DEVICE_SGX_INTERRUPT (1<<0)
+#define DEVICE_MSVDX_INTERRUPT (1<<1)
+#define DEVICE_DISP_INTERRUPT (1<<2)
+
+#if defined(__linux__)
+#define SYS_SGX_DEV_NAME "omapdrm_pvr"
+#endif
+
+/*****************************************************************************
+ * system specific data structures
+ *****************************************************************************/
+
+#endif /* __SYSCONFIG_H__ */
diff --git a/sgx/services4/system/omap5/sysinfo.h b/sgx/services4/system/omap5/sysinfo.h
new file mode 100644
index 0000000..4c9ac80
--- /dev/null
+++ b/sgx/services4/system/omap5/sysinfo.h
@@ -0,0 +1,65 @@
+/*************************************************************************/ /*!
+@Title System Description Header
+@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
+@Description This header provides system-specific declarations and macros
+@License Dual MIT/GPLv2
+
+The contents of this file are subject to the MIT license as set out below.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+Alternatively, the contents of this file may be used under the terms of
+the GNU General Public License Version 2 ("GPL") in which case the provisions
+of GPL are applicable instead of those above.
+
+If you wish to allow use of your version of this file only under the terms of
+GPL, and not to allow others to use your version of this file under the terms
+of the MIT license, indicate your decision by deleting the provisions above
+and replace them with the notice and other provisions required by GPL as set
+out in the file called "GPL-COPYING" included in this distribution. If you do
+not delete the provisions above, a recipient may use your version of this file
+under the terms of either the MIT license or GPL.
+
+This License is also included in this distribution in the file called
+"MIT-COPYING".
+
+EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
+PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+*/ /**************************************************************************/
+
+#if !defined(__SYSINFO_H__)
+#define __SYSINFO_H__
+
+/*!< System specific poll/timeout details */
+#if defined(PVR_LINUX_USING_WORKQUEUES)
+/*
+ * The workqueue based 3rd party display driver may be blocked for up
+ * to 500ms waiting for a vsync when the screen goes blank, so we
+ * need to wait longer for the hardware if a flush of the swap chain is
+ * required.
+ */
+#define MAX_HW_TIME_US (1000000)
+#define WAIT_TRY_COUNT (20000)
+#else
+#define MAX_HW_TIME_US (500000)
+#define WAIT_TRY_COUNT (10000)
+#endif
+
+
+#define SYS_DEVICE_COUNT 15 /* SGX, DISPLAYCLASS (external), BUFFERCLASS (external) */
+
+#endif /* __SYSINFO_H__ */
diff --git a/sgx/services4/system/omap5/syslocal.h b/sgx/services4/system/omap5/syslocal.h
new file mode 100644
index 0000000..02ed7dd
--- /dev/null
+++ b/sgx/services4/system/omap5/syslocal.h
@@ -0,0 +1,264 @@
+/*************************************************************************/ /*!
+@Title Local system definitions
+@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
+@Description This header provides local system declarations and macros
+@License Dual MIT/GPLv2
+
+The contents of this file are subject to the MIT license as set out below.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+Alternatively, the contents of this file may be used under the terms of
+the GNU General Public License Version 2 ("GPL") in which case the provisions
+of GPL are applicable instead of those above.
+
+If you wish to allow use of your version of this file only under the terms of
+GPL, and not to allow others to use your version of this file under the terms
+of the MIT license, indicate your decision by deleting the provisions above
+and replace them with the notice and other provisions required by GPL as set
+out in the file called "GPL-COPYING" included in this distribution. If you do
+not delete the provisions above, a recipient may use your version of this file
+under the terms of either the MIT license or GPL.
+
+This License is also included in this distribution in the file called
+"MIT-COPYING".
+
+EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
+PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+*/ /**************************************************************************/
+
+#if !defined(__SYSLOCAL_H__)
+#define __SYSLOCAL_H__
+
+#if defined(__linux__)
+
+#include <linux/version.h>
+#include <linux/clk.h>
+#if defined(PVR_LINUX_USING_WORKQUEUES)
+#include <linux/mutex.h>
+#else
+#include <linux/spinlock.h>
+#endif
+#include <asm/atomic.h>
+
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,26))
+#include <linux/semaphore.h>
+#include <linux/resource.h>
+#else /* (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,26)) */
+#include <asm/semaphore.h>
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,22))
+#include <asm/arch/resource.h>
+#endif /* (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,22)) */
+#endif /* (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,26)) */
+
+
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
+#if !defined(LDM_PLATFORM)
+#error "LDM_PLATFORM must be set"
+#endif
+#define PVR_LINUX_DYNAMIC_SGX_RESOURCE_INFO
+#include <linux/platform_device.h>
+#endif
+
+#if ((defined(DEBUG) || defined(TIMING)) && \
+ (LINUX_VERSION_CODE == KERNEL_VERSION(2,6,34))) && \
+ !defined(PVR_NO_OMAP_TIMER)
+/*
+ * We need to explicitly enable the GPTIMER11 clocks, or we'll get an
+ * abort when we try to access the timer registers.
+ */
+#define PVR_OMAP5_TIMING_PRCM
+#endif
+
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
+#include <plat/gpu.h>
+#if !defined(PVR_NO_OMAP_TIMER)
+#define PVR_OMAP_USE_DM_TIMER_API
+#include <plat/dmtimer.h>
+#endif
+#endif
+
+#if !defined(PVR_NO_OMAP_TIMER)
+#define PVR_OMAP_TIMER_BASE_IN_SYS_SPEC_DATA
+#endif
+#endif /* defined(__linux__) */
+
+#if !defined(NO_HARDWARE) && \
+ defined(SYS_USING_INTERRUPTS)
+#define SGX_OCP_REGS_ENABLED
+#endif
+
+#if 0 /* need to avoid defining SGX_OCP_NO_INT_BYPASS otherwise we get not irqs */
+#if defined(__linux__)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) && defined(SGX_OCP_REGS_ENABLED)
+/* FIXME: Temporary workaround for OMAP4470 and OMAP543x */
+#if !defined(SGX544)
+#define SGX_OCP_NO_INT_BYPASS
+#endif
+#endif
+#endif
+#endif
+
+#if defined (__cplusplus)
+extern "C" {
+#endif
+
+/*****************************************************************************
+ * system specific data structures
+ *****************************************************************************/
+
+/*****************************************************************************
+ * system specific function prototypes
+ *****************************************************************************/
+
+IMG_VOID DisableSystemClocks(SYS_DATA *psSysData);
+PVRSRV_ERROR EnableSystemClocks(SYS_DATA *psSysData);
+
+IMG_VOID DisableSGXClocks(SYS_DATA *psSysData);
+PVRSRV_ERROR EnableSGXClocks(SYS_DATA *psSysData);
+
+/*
+ * Various flags to indicate what has been initialised, and what
+ * has been temporarily deinitialised for power management purposes.
+ */
+#define SYS_SPECIFIC_DATA_ENABLE_SYSCLOCKS 0x00000001
+#define SYS_SPECIFIC_DATA_ENABLE_LISR 0x00000002
+#define SYS_SPECIFIC_DATA_ENABLE_MISR 0x00000004
+#define SYS_SPECIFIC_DATA_ENABLE_ENVDATA 0x00000008
+#define SYS_SPECIFIC_DATA_ENABLE_LOCDEV 0x00000010
+#define SYS_SPECIFIC_DATA_ENABLE_REGDEV 0x00000020
+#define SYS_SPECIFIC_DATA_ENABLE_PDUMPINIT 0x00000040
+#define SYS_SPECIFIC_DATA_ENABLE_INITDEV 0x00000080
+#define SYS_SPECIFIC_DATA_ENABLE_LOCATEDEV 0x00000100
+
+#define SYS_SPECIFIC_DATA_PM_UNINSTALL_LISR 0x00000200
+#define SYS_SPECIFIC_DATA_PM_DISABLE_SYSCLOCKS 0x00000400
+#define SYS_SPECIFIC_DATA_ENABLE_OCPREGS 0x00000800
+#define SYS_SPECIFIC_DATA_ENABLE_PM_RUNTIME 0x00001000
+#define SYS_SPECIFIC_DATA_IRQ_ENABLED 0x00002000
+#define SYS_SPECIFIC_DATA_DVFS_INIT 0x00004000
+
+#define SYS_SPECIFIC_DATA_SET(psSysSpecData, flag) ((IMG_VOID)((psSysSpecData)->ui32SysSpecificData |= (flag)))
+
+#define SYS_SPECIFIC_DATA_CLEAR(psSysSpecData, flag) ((IMG_VOID)((psSysSpecData)->ui32SysSpecificData &= ~(flag)))
+
+#define SYS_SPECIFIC_DATA_TEST(psSysSpecData, flag) (((psSysSpecData)->ui32SysSpecificData & (flag)) != 0)
+
+typedef struct _SYS_SPECIFIC_DATA_TAG_
+{
+ IMG_UINT32 ui32SysSpecificData;
+ PVRSRV_DEVICE_NODE *psSGXDevNode;
+ IMG_BOOL bSGXInitComplete;
+#if defined(PVR_OMAP_TIMER_BASE_IN_SYS_SPEC_DATA)
+ IMG_CPU_PHYADDR sTimerRegPhysBase;
+#endif
+#if !defined(__linux__)
+ IMG_BOOL bSGXClocksEnabled;
+#endif
+ IMG_UINT32 ui32SrcClockDiv;
+#if defined(__linux__)
+ IMG_BOOL bSysClocksOneTimeInit;
+ atomic_t sSGXClocksEnabled;
+#if defined(PVR_LINUX_USING_WORKQUEUES)
+ struct mutex sPowerLock;
+#else
+ IMG_BOOL bConstraintNotificationsEnabled;
+ spinlock_t sPowerLock;
+ atomic_t sPowerLockCPU;
+ spinlock_t sNotifyLock;
+ atomic_t sNotifyLockCPU;
+ IMG_BOOL bCallVDD2PostFunc;
+#endif
+#if defined(DEBUG) || defined(TIMING)
+ struct clk *psGPT11_FCK;
+ struct clk *psGPT11_ICK;
+#endif
+#if defined(PVR_OMAP_USE_DM_TIMER_API)
+ struct omap_dm_timer *psGPTimer;
+#endif
+ IMG_UINT32 ui32SGXFreqListSize;
+ IMG_UINT32 *pui32SGXFreqList;
+ IMG_UINT32 ui32SGXFreqListIndex;
+#endif /* defined(__linux__) */
+} SYS_SPECIFIC_DATA;
+
+extern SYS_SPECIFIC_DATA *gpsSysSpecificData;
+
+#if defined(SGX_OCP_REGS_ENABLED) && defined(SGX_OCP_NO_INT_BYPASS)
+IMG_VOID SysEnableSGXInterrupts(SYS_DATA* psSysData);
+IMG_VOID SysDisableSGXInterrupts(SYS_DATA* psSysData);
+#else
+#define SysEnableSGXInterrupts(psSysData)
+#define SysDisableSGXInterrupts(psSysData)
+#endif
+
+#if defined(SYS_CUSTOM_POWERLOCK_WRAP)
+IMG_BOOL WrapSystemPowerChange(SYS_SPECIFIC_DATA *psSysSpecData);
+IMG_VOID UnwrapSystemPowerChange(SYS_SPECIFIC_DATA *psSysSpecData);
+#endif
+
+#if defined(__linux__)
+
+PVRSRV_ERROR SysPMRuntimeRegister(void);
+PVRSRV_ERROR SysPMRuntimeUnregister(void);
+
+PVRSRV_ERROR SysDvfsInitialize(SYS_SPECIFIC_DATA *psSysSpecificData);
+PVRSRV_ERROR SysDvfsDeinitialize(SYS_SPECIFIC_DATA *psSysSpecificData);
+
+#else /* defined(__linux__) */
+
+#ifdef INLINE_IS_PRAGMA
+#pragma inline(SysPMRuntimeRegister)
+#endif
+static INLINE PVRSRV_ERROR SysPMRuntimeRegister(void)
+{
+ return PVRSRV_OK;
+}
+
+#ifdef INLINE_IS_PRAGMA
+#pragma inline(SysPMRuntimeUnregister)
+#endif
+static INLINE PVRSRV_ERROR SysPMRuntimeUnregister(void)
+{
+ return PVRSRV_OK;
+}
+
+#ifdef INLINE_IS_PRAGMA
+#pragma inline(SysDvfsInitialize)
+#endif
+static INLINE PVRSRV_ERROR SysDvfsInitialize(void)
+{
+ return PVRSRV_OK;
+}
+
+#ifdef INLINE_IS_PRAGMA
+#pragma inline(SysDvfsDeinitialize)
+#endif
+static INLINE PVRSRV_ERROR SysDvfsDeinitialize(void)
+{
+ return PVRSRV_OK;
+}
+
+#endif /* defined(__linux__) */
+
+#if defined(__cplusplus)
+}
+#endif
+
+#endif /* __SYSLOCAL_H__ */
+
+
diff --git a/sgx/services4/system/omap5/sysutils.c b/sgx/services4/system/omap5/sysutils.c
new file mode 100644
index 0000000..eeb06e7
--- /dev/null
+++ b/sgx/services4/system/omap5/sysutils.c
@@ -0,0 +1,50 @@
+/*************************************************************************/ /*!
+@Title Shared (User/kernel) and System dependent utilities
+@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
+@Description Provides system-specific functions
+@License Dual MIT/GPLv2
+
+The contents of this file are subject to the MIT license as set out below.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+Alternatively, the contents of this file may be used under the terms of
+the GNU General Public License Version 2 ("GPL") in which case the provisions
+of GPL are applicable instead of those above.
+
+If you wish to allow use of your version of this file only under the terms of
+GPL, and not to allow others to use your version of this file under the terms
+of the MIT license, indicate your decision by deleting the provisions above
+and replace them with the notice and other provisions required by GPL as set
+out in the file called "GPL-COPYING" included in this distribution. If you do
+not delete the provisions above, a recipient may use your version of this file
+under the terms of either the MIT license or GPL.
+
+This License is also included in this distribution in the file called
+"MIT-COPYING".
+
+EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
+PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+*/ /**************************************************************************/
+
+/* Pull in the correct system dependent sysutils source */
+
+#if defined(__linux__)
+#include "sysutils_linux.c"
+#endif
+
+
diff --git a/sgx/services4/system/omap5/sysutils_linux.c b/sgx/services4/system/omap5/sysutils_linux.c
new file mode 100644
index 0000000..704b6eb
--- /dev/null
+++ b/sgx/services4/system/omap5/sysutils_linux.c
@@ -0,0 +1,882 @@
+/*************************************************************************/ /*!
+@Title System dependent utilities
+@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
+@Description Provides system-specific functions
+@License Dual MIT/GPLv2
+
+The contents of this file are subject to the MIT license as set out below.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+Alternatively, the contents of this file may be used under the terms of
+the GNU General Public License Version 2 ("GPL") in which case the provisions
+of GPL are applicable instead of those above.
+
+If you wish to allow use of your version of this file only under the terms of
+GPL, and not to allow others to use your version of this file under the terms
+of the MIT license, indicate your decision by deleting the provisions above
+and replace them with the notice and other provisions required by GPL as set
+out in the file called "GPL-COPYING" included in this distribution. If you do
+not delete the provisions above, a recipient may use your version of this file
+under the terms of either the MIT license or GPL.
+
+This License is also included in this distribution in the file called
+"MIT-COPYING".
+
+EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
+PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+*/ /**************************************************************************/
+#include <linux/version.h>
+#include <linux/clk.h>
+#include <linux/err.h>
+#include <linux/hardirq.h>
+#include <linux/mutex.h>
+#include <linux/slab.h>
+
+#include "sgxdefs.h"
+#include "services_headers.h"
+#include "sysinfo.h"
+#include "sgxapi_km.h"
+#include "sysconfig.h"
+#include "sgxinfokm.h"
+#include "syslocal.h"
+
+#include <linux/platform_device.h>
+#include <linux/pm_runtime.h>
+#include <plat/omap_device.h>
+
+#if defined(SYS_OMAP5_HAS_DVFS_FRAMEWORK)
+#include <linux/opp.h>
+#endif
+
+#if defined(SUPPORT_DRI_DRM_PLUGIN)
+#include <drm/drmP.h>
+#include <drm/drm.h>
+
+#include <linux/omap_gpu.h>
+
+#include "pvr_drm.h"
+#endif
+
+#define ONE_MHZ 1000000
+#define HZ_TO_MHZ(m) ((m) / ONE_MHZ)
+
+#if defined(SUPPORT_OMAP3430_SGXFCLK_96M)
+#define SGX_PARENT_CLOCK "cm_96m_fck"
+#else
+#define SGX_PARENT_CLOCK "core_ck"
+#endif
+
+#if defined(LDM_PLATFORM) && !defined(PVR_DRI_DRM_NOT_PCI)
+extern struct platform_device *gpsPVRLDMDev;
+#endif
+
+static PVRSRV_ERROR PowerLockWrap(SYS_SPECIFIC_DATA *psSysSpecData, IMG_BOOL bTryLock)
+{
+ if (!in_interrupt())
+ {
+ if (bTryLock)
+ {
+ int locked = mutex_trylock(&psSysSpecData->sPowerLock);
+ if (locked == 0)
+ {
+ return PVRSRV_ERROR_RETRY;
+ }
+ }
+ else
+ {
+ mutex_lock(&psSysSpecData->sPowerLock);
+ }
+ }
+
+ return PVRSRV_OK;
+}
+
+static IMG_VOID PowerLockUnwrap(SYS_SPECIFIC_DATA *psSysSpecData)
+{
+ if (!in_interrupt())
+ {
+ mutex_unlock(&psSysSpecData->sPowerLock);
+ }
+}
+
+PVRSRV_ERROR SysPowerLockWrap(IMG_BOOL bTryLock)
+{
+ SYS_DATA *psSysData;
+
+ SysAcquireData(&psSysData);
+
+ return PowerLockWrap(psSysData->pvSysSpecificData, bTryLock);
+}
+
+IMG_VOID SysPowerLockUnwrap(IMG_VOID)
+{
+ SYS_DATA *psSysData;
+
+ SysAcquireData(&psSysData);
+
+ PowerLockUnwrap(psSysData->pvSysSpecificData);
+}
+
+/*
+ * This function should be called to unwrap the Services power lock, prior
+ * to calling any function that might sleep.
+ * This function shouldn't be called prior to calling EnableSystemClocks
+ * or DisableSystemClocks, as those functions perform their own power lock
+ * unwrapping.
+ * If the function returns IMG_TRUE, UnwrapSystemPowerChange must be
+ * called to rewrap the power lock, prior to returning to Services.
+ */
+IMG_BOOL WrapSystemPowerChange(SYS_SPECIFIC_DATA *psSysSpecData)
+{
+ return IMG_TRUE;
+}
+
+IMG_VOID UnwrapSystemPowerChange(SYS_SPECIFIC_DATA *psSysSpecData)
+{
+}
+
+/*
+ * Return SGX timining information to caller.
+ */
+IMG_VOID SysGetSGXTimingInformation(SGX_TIMING_INFORMATION *psTimingInfo)
+{
+#if !defined(NO_HARDWARE)
+ PVR_ASSERT(atomic_read(&gpsSysSpecificData->sSGXClocksEnabled) != 0);
+#endif
+#if defined(SYS_OMAP5_HAS_DVFS_FRAMEWORK)
+ psTimingInfo->ui32CoreClockSpeed =
+ gpsSysSpecificData->pui32SGXFreqList[gpsSysSpecificData->ui32SGXFreqListIndex];
+#else /* defined(SYS_OMAP5_HAS_DVFS_FRAMEWORK) */
+ psTimingInfo->ui32CoreClockSpeed = SYS_SGX_CLOCK_SPEED;
+#endif
+ psTimingInfo->ui32HWRecoveryFreq = SYS_SGX_HWRECOVERY_TIMEOUT_FREQ;
+ psTimingInfo->ui32uKernelFreq = SYS_SGX_PDS_TIMER_FREQ;
+#if defined(SUPPORT_ACTIVE_POWER_MANAGEMENT)
+ psTimingInfo->bEnableActivePM = IMG_TRUE;
+#else
+ psTimingInfo->bEnableActivePM = IMG_FALSE;
+#endif /* SUPPORT_ACTIVE_POWER_MANAGEMENT */
+ psTimingInfo->ui32ActivePowManLatencyms = SYS_SGX_ACTIVE_POWER_LATENCY_MS;
+}
+
+/*!
+******************************************************************************
+
+ @Function EnableSGXClocks
+
+ @Description Enable SGX clocks
+
+ @Return PVRSRV_ERROR
+
+******************************************************************************/
+PVRSRV_ERROR EnableSGXClocks(SYS_DATA *psSysData)
+{
+#if !defined(NO_HARDWARE)
+ SYS_SPECIFIC_DATA *psSysSpecData = (SYS_SPECIFIC_DATA *) psSysData->pvSysSpecificData;
+
+ /* SGX clocks already enabled? */
+ if (atomic_read(&psSysSpecData->sSGXClocksEnabled) != 0)
+ {
+ return PVRSRV_OK;
+ }
+
+ PVR_DPF((PVR_DBG_MESSAGE, "EnableSGXClocks: Enabling SGX Clocks"));
+
+#if defined(LDM_PLATFORM) && !defined(PVR_DRI_DRM_NOT_PCI)
+#if defined(SYS_OMAP5_HAS_DVFS_FRAMEWORK)
+ {
+ struct gpu_platform_data *pdata;
+ IMG_UINT32 max_freq_index;
+ int res;
+
+ pdata = (struct gpu_platform_data *)gpsPVRLDMDev->dev.platform_data;
+ max_freq_index = psSysSpecData->ui32SGXFreqListSize - 2;
+
+ /*
+ * Request maximum frequency from DVFS layer if not already set. DVFS may
+ * report busy if early in initialization, but all other errors are
+ * considered serious. Upon any error we proceed assuming our safe frequency
+ * value to be in use as indicated by the "unknown" index.
+ */
+ if (psSysSpecData->ui32SGXFreqListIndex != max_freq_index)
+ {
+ PVR_ASSERT(pdata->device_scale != IMG_NULL);
+ res = pdata->device_scale(&gpsPVRLDMDev->dev,
+ &gpsPVRLDMDev->dev,
+ psSysSpecData->pui32SGXFreqList[max_freq_index]);
+ if (res == 0)
+ {
+ psSysSpecData->ui32SGXFreqListIndex = max_freq_index;
+ }
+ else if (res == -EBUSY)
+ {
+ PVR_DPF((PVR_DBG_WARNING, "EnableSGXClocks: Unable to scale SGX frequency (EBUSY)"));
+ psSysSpecData->ui32SGXFreqListIndex = psSysSpecData->ui32SGXFreqListSize - 1;
+ }
+ else if (res < 0)
+ {
+ PVR_DPF((PVR_DBG_ERROR, "EnableSGXClocks: Unable to scale SGX frequency (%d)", res));
+ psSysSpecData->ui32SGXFreqListIndex = psSysSpecData->ui32SGXFreqListSize - 1;
+ }
+ }
+ }
+#endif /* defined(SYS_OMAP5_HAS_DVFS_FRAMEWORK) */
+ {
+ /*
+ * pm_runtime_get_sync returns 1 after the module has
+ * been reloaded.
+ */
+ int res = pm_runtime_get_sync(&gpsPVRLDMDev->dev);
+ if (res < 0)
+ {
+ PVR_DPF((PVR_DBG_ERROR, "EnableSGXClocks: pm_runtime_get_sync failed (%d)", -res));
+ return PVRSRV_ERROR_UNABLE_TO_ENABLE_CLOCK;
+ }
+ }
+#endif /* defined(LDM_PLATFORM) && !defined(PVR_DRI_DRM_NOT_PCI) */
+
+ SysEnableSGXInterrupts(psSysData);
+
+ /* Indicate that the SGX clocks are enabled */
+ atomic_set(&psSysSpecData->sSGXClocksEnabled, 1);
+
+#else /* !defined(NO_HARDWARE) */
+ PVR_UNREFERENCED_PARAMETER(psSysData);
+#endif /* !defined(NO_HARDWARE) */
+ return PVRSRV_OK;
+}
+
+
+/*!
+******************************************************************************
+
+ @Function DisableSGXClocks
+
+ @Description Disable SGX clocks.
+
+ @Return none
+
+******************************************************************************/
+IMG_VOID DisableSGXClocks(SYS_DATA *psSysData)
+{
+#if 0
+#if !defined(NO_HARDWARE)
+ SYS_SPECIFIC_DATA *psSysSpecData = (SYS_SPECIFIC_DATA *) psSysData->pvSysSpecificData;
+
+ /* SGX clocks already disabled? */
+ if (atomic_read(&psSysSpecData->sSGXClocksEnabled) == 0)
+ {
+ return;
+ }
+
+ PVR_DPF((PVR_DBG_MESSAGE, "DisableSGXClocks: Disabling SGX Clocks"));
+
+ SysDisableSGXInterrupts(psSysData);
+
+#if defined(LDM_PLATFORM) && !defined(PVR_DRI_DRM_NOT_PCI)
+ {
+ int res = pm_runtime_put_sync(&gpsPVRLDMDev->dev);
+ if (res < 0)
+ {
+ PVR_DPF((PVR_DBG_ERROR, "DisableSGXClocks: pm_runtime_put_sync failed (%d)", -res));
+ }
+ }
+#if defined(SYS_OMAP5_HAS_DVFS_FRAMEWORK)
+ {
+ struct gpu_platform_data *pdata;
+ int res;
+
+ pdata = (struct gpu_platform_data *)gpsPVRLDMDev->dev.platform_data;
+
+ /*
+ * Request minimum frequency (list index 0) from DVFS layer if not already
+ * set. DVFS may report busy if early in initialization, but all other errors
+ * are considered serious. Upon any error we proceed assuming our safe frequency
+ * value to be in use as indicated by the "unknown" index.
+ */
+ if (psSysSpecData->ui32SGXFreqListIndex != 0)
+ {
+ PVR_ASSERT(pdata->device_scale != IMG_NULL);
+ res = pdata->device_scale(&gpsPVRLDMDev->dev,
+ &gpsPVRLDMDev->dev,
+ psSysSpecData->pui32SGXFreqList[0]);
+ if (res == 0)
+ {
+ psSysSpecData->ui32SGXFreqListIndex = 0;
+ }
+ else if (res == -EBUSY)
+ {
+ PVR_DPF((PVR_DBG_WARNING, "DisableSGXClocks: Unable to scale SGX frequency (EBUSY)"));
+ psSysSpecData->ui32SGXFreqListIndex = psSysSpecData->ui32SGXFreqListSize - 1;
+ }
+ else if (res < 0)
+ {
+ PVR_DPF((PVR_DBG_ERROR, "DisableSGXClocks: Unable to scale SGX frequency (%d)", res));
+ psSysSpecData->ui32SGXFreqListIndex = psSysSpecData->ui32SGXFreqListSize - 1;
+ }
+ }
+ }
+#endif /* defined(SYS_OMAP5_HAS_DVFS_FRAMEWORK) */
+#endif /* defined(LDM_PLATFORM) && !defined(PVR_DRI_DRM_NOT_PCI) */
+
+ /* Indicate that the SGX clocks are disabled */
+ atomic_set(&psSysSpecData->sSGXClocksEnabled, 0);
+
+#else /* !defined(NO_HARDWARE) */
+ PVR_UNREFERENCED_PARAMETER(psSysData);
+#endif /* !defined(NO_HARDWARE) */
+#endif
+}
+
+#if (defined(DEBUG) || defined(TIMING)) && !defined(PVR_NO_OMAP_TIMER)
+#if defined(PVR_OMAP_USE_DM_TIMER_API)
+#define GPTIMER_TO_USE 11
+/*!
+******************************************************************************
+
+ @Function AcquireGPTimer
+
+ @Description Acquire a GP timer
+
+ @Return PVRSRV_ERROR
+
+******************************************************************************/
+static PVRSRV_ERROR AcquireGPTimer(SYS_SPECIFIC_DATA *psSysSpecData)
+{
+ PVR_ASSERT(psSysSpecData->psGPTimer == NULL);
+
+ /*
+ * This code could try requesting registers 9, 10, and 11,
+ * stopping at the first succesful request. We'll stick with
+ * 11 for now, as it avoids having to hard code yet more
+ * physical addresses into the code.
+ */
+ psSysSpecData->psGPTimer = omap_dm_timer_request_specific(GPTIMER_TO_USE);
+ if (psSysSpecData->psGPTimer == NULL)
+ {
+
+ PVR_DPF((PVR_DBG_WARNING, "%s: omap_dm_timer_request_specific failed", __FUNCTION__));
+ return PVRSRV_ERROR_CLOCK_REQUEST_FAILED;
+ }
+
+ /* Set timer source to system clock */
+ omap_dm_timer_set_source(psSysSpecData->psGPTimer, OMAP_TIMER_SRC_SYS_CLK);
+ omap_dm_timer_enable(psSysSpecData->psGPTimer);
+
+ /* Set autoreload, and start value of 0 */
+ omap_dm_timer_set_load_start(psSysSpecData->psGPTimer, 1, 0);
+
+ omap_dm_timer_start(psSysSpecData->psGPTimer);
+
+ /*
+ * The DM timer API doesn't have a mechansim for obtaining the
+ * physical address of the counter register.
+ */
+ psSysSpecData->sTimerRegPhysBase.uiAddr = SYS_OMAP5430_GP11TIMER_REGS_SYS_PHYS_BASE;
+
+ return PVRSRV_OK;
+}
+
+/*!
+******************************************************************************
+
+ @Function ReleaseGPTimer
+
+ @Description Release a GP timer
+
+ @Return PVRSRV_ERROR
+
+******************************************************************************/
+static void ReleaseGPTimer(SYS_SPECIFIC_DATA *psSysSpecData)
+{
+ if (psSysSpecData->psGPTimer != NULL)
+ {
+ /* Always returns 0 */
+ (void) omap_dm_timer_stop(psSysSpecData->psGPTimer);
+
+ omap_dm_timer_disable(psSysSpecData->psGPTimer);
+
+ omap_dm_timer_free(psSysSpecData->psGPTimer);
+
+ psSysSpecData->sTimerRegPhysBase.uiAddr = 0;
+
+ psSysSpecData->psGPTimer = NULL;
+ }
+
+}
+#else /* PVR_OMAP_USE_DM_TIMER_API */
+/*!
+******************************************************************************
+
+ @Function AcquireGPTimer
+
+ @Description Acquire a GP timer
+
+ @Return PVRSRV_ERROR
+
+******************************************************************************/
+static PVRSRV_ERROR AcquireGPTimer(SYS_SPECIFIC_DATA *psSysSpecData)
+{
+#if defined(PVR_OMAP5_TIMING_PRCM)
+ struct clk *psCLK;
+ IMG_INT res;
+ struct clk *sys_ck;
+ IMG_INT rate;
+#endif
+ PVRSRV_ERROR eError;
+
+ IMG_CPU_PHYADDR sTimerRegPhysBase;
+ IMG_HANDLE hTimerEnable;
+ IMG_UINT32 *pui32TimerEnable;
+
+ PVR_ASSERT(psSysSpecData->sTimerRegPhysBase.uiAddr == 0);
+
+#if defined(PVR_OMAP5_TIMING_PRCM)
+ /* assert our dependence on the GPTIMER11 module */
+ psCLK = clk_get(NULL, "gpt11_fck");
+ if (IS_ERR(psCLK))
+ {
+ PVR_DPF((PVR_DBG_ERROR, "EnableSystemClocks: Couldn't get GPTIMER11 functional clock"));
+ goto ExitError;
+ }
+ psSysSpecData->psGPT11_FCK = psCLK;
+
+ psCLK = clk_get(NULL, "gpt11_ick");
+ if (IS_ERR(psCLK))
+ {
+ PVR_DPF((PVR_DBG_ERROR, "EnableSystemClocks: Couldn't get GPTIMER11 interface clock"));
+ goto ExitError;
+ }
+ psSysSpecData->psGPT11_ICK = psCLK;
+
+ sys_ck = clk_get(NULL, "sys_clkin_ck");
+ if (IS_ERR(sys_ck))
+ {
+ PVR_DPF((PVR_DBG_ERROR, "EnableSystemClocks: Couldn't get System clock"));
+ goto ExitError;
+ }
+
+ if(clk_get_parent(psSysSpecData->psGPT11_FCK) != sys_ck)
+ {
+ PVR_TRACE(("Setting GPTIMER11 parent to System Clock"));
+ res = clk_set_parent(psSysSpecData->psGPT11_FCK, sys_ck);
+ if (res < 0)
+ {
+ PVR_DPF((PVR_DBG_ERROR, "EnableSystemClocks: Couldn't set GPTIMER11 parent clock (%d)", res));
+ goto ExitError;
+ }
+ }
+
+ rate = clk_get_rate(psSysSpecData->psGPT11_FCK);
+ PVR_TRACE(("GPTIMER11 clock is %dMHz", HZ_TO_MHZ(rate)));
+
+ res = clk_enable(psSysSpecData->psGPT11_FCK);
+ if (res < 0)
+ {
+ PVR_DPF((PVR_DBG_ERROR, "EnableSystemClocks: Couldn't enable GPTIMER11 functional clock (%d)", res));
+ goto ExitError;
+ }
+
+ res = clk_enable(psSysSpecData->psGPT11_ICK);
+ if (res < 0)
+ {
+ PVR_DPF((PVR_DBG_ERROR, "EnableSystemClocks: Couldn't enable GPTIMER11 interface clock (%d)", res));
+ goto ExitDisableGPT11FCK;
+ }
+#endif /* defined(PVR_OMAP5_TIMING_PRCM) */
+
+ /* Set the timer to non-posted mode */
+ sTimerRegPhysBase.uiAddr = SYS_OMAP5430_GP11TIMER_TSICR_SYS_PHYS_BASE;
+ pui32TimerEnable = OSMapPhysToLin(sTimerRegPhysBase,
+ 4,
+ PVRSRV_HAP_KERNEL_ONLY|PVRSRV_HAP_UNCACHED,
+ &hTimerEnable);
+
+ if (pui32TimerEnable == IMG_NULL)
+ {
+ PVR_DPF((PVR_DBG_ERROR, "EnableSystemClocks: OSMapPhysToLin failed"));
+ goto ExitDisableGPT11ICK;
+ }
+
+ if(!(*pui32TimerEnable & 4))
+ {
+ PVR_TRACE(("Setting GPTIMER11 mode to posted (currently is non-posted)"));
+
+ /* Set posted mode */
+ *pui32TimerEnable |= 4;
+ }
+
+ OSUnMapPhysToLin(pui32TimerEnable,
+ 4,
+ PVRSRV_HAP_KERNEL_ONLY|PVRSRV_HAP_UNCACHED,
+ hTimerEnable);
+
+ /* Enable the timer */
+ sTimerRegPhysBase.uiAddr = SYS_OMAP5430_GP11TIMER_ENABLE_SYS_PHYS_BASE;
+ pui32TimerEnable = OSMapPhysToLin(sTimerRegPhysBase,
+ 4,
+ PVRSRV_HAP_KERNEL_ONLY|PVRSRV_HAP_UNCACHED,
+ &hTimerEnable);
+
+ if (pui32TimerEnable == IMG_NULL)
+ {
+ PVR_DPF((PVR_DBG_ERROR, "EnableSystemClocks: OSMapPhysToLin failed"));
+ goto ExitDisableGPT11ICK;
+ }
+
+ /* Enable and set autoreload on overflow */
+ *pui32TimerEnable = 3;
+
+ OSUnMapPhysToLin(pui32TimerEnable,
+ 4,
+ PVRSRV_HAP_KERNEL_ONLY|PVRSRV_HAP_UNCACHED,
+ hTimerEnable);
+
+ psSysSpecData->sTimerRegPhysBase = sTimerRegPhysBase;
+
+ eError = PVRSRV_OK;
+
+ goto Exit;
+
+ExitDisableGPT11ICK:
+#if defined(PVR_OMAP5_TIMING_PRCM)
+ clk_disable(psSysSpecData->psGPT11_ICK);
+ExitDisableGPT11FCK:
+ clk_disable(psSysSpecData->psGPT11_FCK);
+ExitError:
+#endif /* defined(PVR_OMAP5_TIMING_PRCM) */
+ eError = PVRSRV_ERROR_CLOCK_REQUEST_FAILED;
+Exit:
+ return eError;
+}
+
+/*!
+******************************************************************************
+
+ @Function ReleaseGPTimer
+
+ @Description Release a GP timer
+
+ @Return PVRSRV_ERROR
+
+******************************************************************************/
+static void ReleaseGPTimer(SYS_SPECIFIC_DATA *psSysSpecData)
+{
+ IMG_HANDLE hTimerDisable;
+ IMG_UINT32 *pui32TimerDisable;
+
+ if (psSysSpecData->sTimerRegPhysBase.uiAddr == 0)
+ {
+ return;
+ }
+
+ /* Disable the timer */
+ pui32TimerDisable = OSMapPhysToLin(psSysSpecData->sTimerRegPhysBase,
+ 4,
+ PVRSRV_HAP_KERNEL_ONLY|PVRSRV_HAP_UNCACHED,
+ &hTimerDisable);
+
+ if (pui32TimerDisable == IMG_NULL)
+ {
+ PVR_DPF((PVR_DBG_ERROR, "DisableSystemClocks: OSMapPhysToLin failed"));
+ }
+ else
+ {
+ *pui32TimerDisable = 0;
+
+ OSUnMapPhysToLin(pui32TimerDisable,
+ 4,
+ PVRSRV_HAP_KERNEL_ONLY|PVRSRV_HAP_UNCACHED,
+ hTimerDisable);
+ }
+
+ psSysSpecData->sTimerRegPhysBase.uiAddr = 0;
+
+#if defined(PVR_OMAP5_TIMING_PRCM)
+ clk_disable(psSysSpecData->psGPT11_ICK);
+
+ clk_disable(psSysSpecData->psGPT11_FCK);
+#endif /* defined(PVR_OMAP5_TIMING_PRCM) */
+}
+#endif /* PVR_OMAP_USE_DM_TIMER_API */
+#else /* (DEBUG || TIMING) && !PVR_NO_OMAP_TIMER */
+static PVRSRV_ERROR AcquireGPTimer(SYS_SPECIFIC_DATA *psSysSpecData)
+{
+ PVR_UNREFERENCED_PARAMETER(psSysSpecData);
+
+ return PVRSRV_OK;
+}
+static void ReleaseGPTimer(SYS_SPECIFIC_DATA *psSysSpecData)
+{
+ PVR_UNREFERENCED_PARAMETER(psSysSpecData);
+}
+#endif /* (DEBUG || TIMING) && !PVR_NO_OMAP_TIMER */
+
+/*!
+******************************************************************************
+
+ @Function EnableSystemClocks
+
+ @Description Setup up the clocks for the graphics device to work.
+
+ @Return PVRSRV_ERROR
+
+******************************************************************************/
+PVRSRV_ERROR EnableSystemClocks(SYS_DATA *psSysData)
+{
+ SYS_SPECIFIC_DATA *psSysSpecData = (SYS_SPECIFIC_DATA *) psSysData->pvSysSpecificData;
+
+ PVR_TRACE(("EnableSystemClocks: Enabling System Clocks"));
+
+ if (!psSysSpecData->bSysClocksOneTimeInit)
+ {
+#if 0
+ struct clk *sgx_clk, *parent_clk;
+ int res;
+
+ sgx_clk = clk_get(&gpsPVRLDMDev->dev, "gpu_fck");
+ if (IS_ERR_OR_NULL(sgx_clk)) {
+ /* try another name that the sgx clock might be known as.. */
+ sgx_clk = clk_get(&gpsPVRLDMDev->dev, "sgx_clk_mux_ck");
+ }
+ if (IS_ERR_OR_NULL(sgx_clk)) {
+ PVR_DPF((PVR_DBG_ERROR, "EnableSGXClocks: could not get clock (%ld)", -PTR_ERR(sgx_clk)));
+ return PVRSRV_ERROR_UNABLE_TO_ENABLE_CLOCK;
+ }
+
+ parent_clk = clk_get(&gpsPVRLDMDev->dev, "dpll_per_m7x2_ck");
+ if (IS_ERR_OR_NULL(parent_clk)) {
+ PVR_DPF((PVR_DBG_ERROR, "EnableSGXClocks: could not get clock (%ld)", -PTR_ERR(parent_clk)));
+ clk_put(sgx_clk);
+ return PVRSRV_ERROR_UNABLE_TO_ENABLE_CLOCK;
+ }
+
+ res = clk_set_parent(sgx_clk, parent_clk);
+ if (IS_ERR_VALUE(res)) {
+ PVR_DPF((PVR_DBG_ERROR, "EnableSGXClocks: could not set clock (%d)", -res));
+ clk_put(sgx_clk);
+ clk_put(parent_clk);
+ return PVRSRV_ERROR_UNABLE_TO_ENABLE_CLOCK;
+ }
+#endif
+ mutex_init(&psSysSpecData->sPowerLock);
+
+ atomic_set(&psSysSpecData->sSGXClocksEnabled, 0);
+
+ psSysSpecData->bSysClocksOneTimeInit = IMG_TRUE;
+ }
+
+ return AcquireGPTimer(psSysSpecData);
+}
+
+/*!
+******************************************************************************
+
+ @Function DisableSystemClocks
+
+ @Description Disable the graphics clocks.
+
+ @Return none
+
+******************************************************************************/
+IMG_VOID DisableSystemClocks(SYS_DATA *psSysData)
+{
+ SYS_SPECIFIC_DATA *psSysSpecData = (SYS_SPECIFIC_DATA *) psSysData->pvSysSpecificData;
+
+ PVR_TRACE(("DisableSystemClocks: Disabling System Clocks"));
+
+ /*
+ * Always disable the SGX clocks when the system clocks are disabled.
+ * This saves having to make an explicit call to DisableSGXClocks if
+ * active power management is enabled.
+ */
+ DisableSGXClocks(psSysData);
+
+ ReleaseGPTimer(psSysSpecData);
+}
+
+PVRSRV_ERROR SysPMRuntimeRegister(void)
+{
+#if defined(LDM_PLATFORM) && !defined(PVR_DRI_DRM_NOT_PCI)
+ pm_runtime_enable(&gpsPVRLDMDev->dev);
+#endif
+ return PVRSRV_OK;
+}
+
+PVRSRV_ERROR SysPMRuntimeUnregister(void)
+{
+#if defined(LDM_PLATFORM) && !defined(PVR_DRI_DRM_NOT_PCI)
+ pm_runtime_disable(&gpsPVRLDMDev->dev);
+#endif
+ return PVRSRV_OK;
+}
+
+PVRSRV_ERROR SysDvfsInitialize(SYS_SPECIFIC_DATA *psSysSpecificData)
+{
+#if !defined(SYS_OMAP5_HAS_DVFS_FRAMEWORK)
+ PVR_UNREFERENCED_PARAMETER(psSysSpecificData);
+#else /* !defined(SYS_OMAP5_HAS_DVFS_FRAMEWORK) */
+ IMG_UINT32 i, *freq_list;
+ IMG_INT32 opp_count;
+ unsigned long freq;
+ struct opp *opp;
+
+ /*
+ * We query and store the list of SGX frequencies just this once under the
+ * assumption that they are unchanging, e.g. no disabling of high frequency
+ * option for thermal management. This is currently valid for 4430 and 4460.
+ */
+ rcu_read_lock();
+ opp_count = opp_get_opp_count(&gpsPVRLDMDev->dev);
+ if (opp_count < 1)
+ {
+ rcu_read_unlock();
+ PVR_DPF((PVR_DBG_ERROR, "SysDvfsInitialize: Could not retrieve opp count"));
+ return PVRSRV_ERROR_NOT_SUPPORTED;
+ }
+
+ /*
+ * Allocate the frequency list with a slot for each available frequency plus
+ * one additional slot to hold a designated frequency value to assume when in
+ * an unknown frequency state.
+ */
+ freq_list = kmalloc((opp_count + 1) * sizeof(IMG_UINT32), GFP_ATOMIC);
+ if (!freq_list)
+ {
+ rcu_read_unlock();
+ PVR_DPF((PVR_DBG_ERROR, "SysDvfsInitialize: Could not allocate frequency list"));
+ return PVRSRV_ERROR_OUT_OF_MEMORY;
+ }
+
+ /*
+ * Fill in frequency list from lowest to highest then finally the "unknown"
+ * frequency value. We use the highest available frequency as our assumed value
+ * when in an unknown state, because it is safer for APM and hardware recovery
+ * timers to be longer than intended rather than shorter.
+ */
+ freq = 0;
+ for (i = 0; i < opp_count; i++)
+ {
+ opp = opp_find_freq_ceil(&gpsPVRLDMDev->dev, &freq);
+ if (IS_ERR_OR_NULL(opp))
+ {
+ rcu_read_unlock();
+ PVR_DPF((PVR_DBG_ERROR, "SysDvfsInitialize: Could not retrieve opp level %d", i));
+ kfree(freq_list);
+ return PVRSRV_ERROR_NOT_SUPPORTED;
+ }
+ freq_list[i] = (IMG_UINT32)freq;
+ freq++;
+ }
+ rcu_read_unlock();
+ freq_list[opp_count] = freq_list[opp_count - 1];
+
+ psSysSpecificData->ui32SGXFreqListSize = opp_count + 1;
+ psSysSpecificData->pui32SGXFreqList = freq_list;
+
+ /* Start in unknown state - no frequency request to DVFS yet made */
+ psSysSpecificData->ui32SGXFreqListIndex = opp_count;
+#endif /* !defined(SYS_OMAP5_HAS_DVFS_FRAMEWORK) */
+
+ return PVRSRV_OK;
+}
+
+PVRSRV_ERROR SysDvfsDeinitialize(SYS_SPECIFIC_DATA *psSysSpecificData)
+{
+#if !defined(SYS_OMAP5_HAS_DVFS_FRAMEWORK)
+ PVR_UNREFERENCED_PARAMETER(psSysSpecificData);
+#else /* !defined(SYS_OMAP5_HAS_DVFS_FRAMEWORK) */
+ /*
+ * We assume this function is only called if SysDvfsInitialize() was
+ * completed successfully before.
+ *
+ * The DVFS interface does not allow us to actually unregister as a
+ * user of SGX, so we do the next best thing which is to lower our
+ * required frequency to the minimum if not already set. DVFS may
+ * report busy if early in initialization, but all other errors are
+ * considered serious.
+ */
+ if (psSysSpecificData->ui32SGXFreqListIndex != 0)
+ {
+ struct gpu_platform_data *pdata;
+ IMG_INT32 res;
+
+ pdata = (struct gpu_platform_data *)gpsPVRLDMDev->dev.platform_data;
+
+ PVR_ASSERT(pdata->device_scale != IMG_NULL);
+ res = pdata->device_scale(&gpsPVRLDMDev->dev,
+ &gpsPVRLDMDev->dev,
+ psSysSpecificData->pui32SGXFreqList[0]);
+ if (res == -EBUSY)
+ {
+ PVR_DPF((PVR_DBG_WARNING, "SysDvfsDeinitialize: Unable to scale SGX frequency (EBUSY)"));
+ }
+ else if (res < 0)
+ {
+ PVR_DPF((PVR_DBG_ERROR, "SysDvfsDeinitialize: Unable to scale SGX frequency (%d)", res));
+ }
+
+ psSysSpecificData->ui32SGXFreqListIndex = 0;
+ }
+
+ kfree(psSysSpecificData->pui32SGXFreqList);
+ psSysSpecificData->pui32SGXFreqList = 0;
+ psSysSpecificData->ui32SGXFreqListSize = 0;
+#endif /* !defined(SYS_OMAP5_HAS_DVFS_FRAMEWORK) */
+
+ return PVRSRV_OK;
+}
+
+#if defined(SUPPORT_DRI_DRM_PLUGIN)
+static struct omap_gpu_plugin sOMAPGPUPlugin;
+
+#define SYS_DRM_SET_PLUGIN_FIELD(d, s, f) (d)->f = (s)->f
+int
+SysDRMRegisterPlugin(PVRSRV_DRM_PLUGIN *psDRMPlugin)
+{
+ int iRes;
+
+ SYS_DRM_SET_PLUGIN_FIELD(&sOMAPGPUPlugin, psDRMPlugin, name);
+ SYS_DRM_SET_PLUGIN_FIELD(&sOMAPGPUPlugin, psDRMPlugin, open);
+ SYS_DRM_SET_PLUGIN_FIELD(&sOMAPGPUPlugin, psDRMPlugin, load);
+ SYS_DRM_SET_PLUGIN_FIELD(&sOMAPGPUPlugin, psDRMPlugin, unload);
+ SYS_DRM_SET_PLUGIN_FIELD(&sOMAPGPUPlugin, psDRMPlugin, release);
+ SYS_DRM_SET_PLUGIN_FIELD(&sOMAPGPUPlugin, psDRMPlugin, mmap);
+ SYS_DRM_SET_PLUGIN_FIELD(&sOMAPGPUPlugin, psDRMPlugin, ioctls);
+ SYS_DRM_SET_PLUGIN_FIELD(&sOMAPGPUPlugin, psDRMPlugin, num_ioctls);
+ SYS_DRM_SET_PLUGIN_FIELD(&sOMAPGPUPlugin, psDRMPlugin, ioctl_start);
+
+ iRes = omap_gpu_register_plugin(&sOMAPGPUPlugin);
+ if (iRes != 0)
+ {
+ PVR_DPF((PVR_DBG_ERROR, "%s: omap_gpu_register_plugin failed (%d)", __FUNCTION__, iRes));
+ }
+
+ return iRes;
+}
+
+void
+SysDRMUnregisterPlugin(PVRSRV_DRM_PLUGIN *psDRMPlugin)
+{
+ int iRes = omap_gpu_unregister_plugin(&sOMAPGPUPlugin);
+ if (iRes != 0)
+ {
+ PVR_DPF((PVR_DBG_ERROR, "%s: omap_gpu_unregister_plugin failed (%d)", __FUNCTION__, iRes));
+ }
+}
+#endif
diff --git a/sgx/tools/intern/debug/client/linuxsrv.h b/sgx/tools/intern/debug/client/linuxsrv.h
index 3f50b37..d9fd825 100644
--- a/sgx/tools/intern/debug/client/linuxsrv.h
+++ b/sgx/tools/intern/debug/client/linuxsrv.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef _LINUXSRV_H__
diff --git a/sgx/tools/intern/debug/dbgdriv/Kbuild.mk b/sgx/tools/intern/debug/dbgdriv/Kbuild.mk
index 2ae248c..e1e8868 100644
--- a/sgx/tools/intern/debug/dbgdriv/Kbuild.mk
+++ b/sgx/tools/intern/debug/dbgdriv/Kbuild.mk
@@ -36,7 +36,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
ccflags-y += \
diff --git a/sgx/tools/intern/debug/dbgdriv/Linux.mk b/sgx/tools/intern/debug/dbgdriv/Linux.mk
index ccc0dbd..e050879 100644
--- a/sgx/tools/intern/debug/dbgdriv/Linux.mk
+++ b/sgx/tools/intern/debug/dbgdriv/Linux.mk
@@ -36,7 +36,6 @@
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
### ###########################################################################
modules := dbgdrv
diff --git a/sgx/tools/intern/debug/dbgdriv/common/dbgdriv.c b/sgx/tools/intern/debug/dbgdriv/common/dbgdriv.c
index e0e693b..0b8d445 100644
--- a/sgx/tools/intern/debug/dbgdriv/common/dbgdriv.c
+++ b/sgx/tools/intern/debug/dbgdriv/common/dbgdriv.c
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifdef LINUX
diff --git a/sgx/tools/intern/debug/dbgdriv/common/dbgdriv.h b/sgx/tools/intern/debug/dbgdriv/common/dbgdriv.h
index 33262ad..d58c62d 100644
--- a/sgx/tools/intern/debug/dbgdriv/common/dbgdriv.h
+++ b/sgx/tools/intern/debug/dbgdriv/common/dbgdriv.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef _DBGDRIV_
diff --git a/sgx/tools/intern/debug/dbgdriv/common/dbgdriv_ioctl.h b/sgx/tools/intern/debug/dbgdriv/common/dbgdriv_ioctl.h
index 80c9d85..0909e6d 100644
--- a/sgx/tools/intern/debug/dbgdriv/common/dbgdriv_ioctl.h
+++ b/sgx/tools/intern/debug/dbgdriv/common/dbgdriv_ioctl.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef _IOCTL_
diff --git a/sgx/tools/intern/debug/dbgdriv/common/handle.c b/sgx/tools/intern/debug/dbgdriv/common/handle.c
index 6e4c378..a9d37a6 100644
--- a/sgx/tools/intern/debug/dbgdriv/common/handle.c
+++ b/sgx/tools/intern/debug/dbgdriv/common/handle.c
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include "img_defs.h"
diff --git a/sgx/tools/intern/debug/dbgdriv/common/hostfunc.h b/sgx/tools/intern/debug/dbgdriv/common/hostfunc.h
index 1811340..e92ad9a 100644
--- a/sgx/tools/intern/debug/dbgdriv/common/hostfunc.h
+++ b/sgx/tools/intern/debug/dbgdriv/common/hostfunc.h
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef _HOSTFUNC_
diff --git a/sgx/tools/intern/debug/dbgdriv/common/hotkey.c b/sgx/tools/intern/debug/dbgdriv/common/hotkey.c
index 8792870..6bf20a6 100644
--- a/sgx/tools/intern/debug/dbgdriv/common/hotkey.c
+++ b/sgx/tools/intern/debug/dbgdriv/common/hotkey.c
@@ -38,11 +38,10 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
-#if (!defined(LINUX) && !defined(__QNXNTO__))
+#if !defined(LINUX) && !defined(__QNXNTO__)
#include <ntddk.h>
#include <windef.h>
#endif
diff --git a/sgx/tools/intern/debug/dbgdriv/common/hotkey.h b/sgx/tools/intern/debug/dbgdriv/common/hotkey.h
index b305938..7aa2952 100644
--- a/sgx/tools/intern/debug/dbgdriv/common/hotkey.h
+++ b/sgx/tools/intern/debug/dbgdriv/common/hotkey.h
@@ -38,7 +38,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#ifndef _HOTKEY_
diff --git a/sgx/tools/intern/debug/dbgdriv/common/ioctl.c b/sgx/tools/intern/debug/dbgdriv/common/ioctl.c
index 4549ce3..1767a9b 100644
--- a/sgx/tools/intern/debug/dbgdriv/common/ioctl.c
+++ b/sgx/tools/intern/debug/dbgdriv/common/ioctl.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
diff --git a/sgx/tools/intern/debug/dbgdriv/linux/hostfunc.c b/sgx/tools/intern/debug/dbgdriv/linux/hostfunc.c
index cac0950..5d5e9ef 100644
--- a/sgx/tools/intern/debug/dbgdriv/linux/hostfunc.c
+++ b/sgx/tools/intern/debug/dbgdriv/linux/hostfunc.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include <linux/version.h>
#include <linux/errno.h>
diff --git a/sgx/tools/intern/debug/dbgdriv/linux/main.c b/sgx/tools/intern/debug/dbgdriv/linux/main.c
index 6b709fb..c1ca85b 100644
--- a/sgx/tools/intern/debug/dbgdriv/linux/main.c
+++ b/sgx/tools/intern/debug/dbgdriv/linux/main.c
@@ -37,7 +37,6 @@ PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
*/ /**************************************************************************/
#include <linux/errno.h>
#include <linux/module.h>
diff --git a/usr/bin/sgx_init_test b/usr/bin/sgx_init_test
index f3a65ac..d750894 100755
--- a/usr/bin/sgx_init_test
+++ b/usr/bin/sgx_init_test
Binary files differ
diff --git a/usr/bin/xeglinfo b/usr/bin/xeglinfo
index 1ecadfd..d9eaf1e 100755
--- a/usr/bin/xeglinfo
+++ b/usr/bin/xeglinfo
Binary files differ
diff --git a/usr/bin/xgles1test1 b/usr/bin/xgles1test1
index 2519511..774c695 100755
--- a/usr/bin/xgles1test1
+++ b/usr/bin/xgles1test1
Binary files differ
diff --git a/usr/bin/xgles2test1 b/usr/bin/xgles2test1
index 2933668..311d80c 100755
--- a/usr/bin/xgles2test1
+++ b/usr/bin/xgles2test1
Binary files differ
diff --git a/usr/bin/xmultiegltest b/usr/bin/xmultiegltest
index 7470f69..87adbcb 100755
--- a/usr/bin/xmultiegltest
+++ b/usr/bin/xmultiegltest
Binary files differ
diff --git a/usr/include/EGL/eglplatform.h b/usr/include/EGL/eglplatform.h
index 63497bc..ee8f58a 100644
--- a/usr/include/EGL/eglplatform.h
+++ b/usr/include/EGL/eglplatform.h
@@ -62,7 +62,7 @@
* types, renamed in EGL 1.3 so all types in the API start with "EGL".
*/
-#if ((defined(__VC32__) && !defined(__CYGWIN__)) && !defined(__SCITECH_SNAP__))
+#if defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN 1
#endif
diff --git a/usr/include/KHR/khrplatform.h b/usr/include/KHR/khrplatform.h
index a52d61c..e3311fd 100644
--- a/usr/include/KHR/khrplatform.h
+++ b/usr/include/KHR/khrplatform.h
@@ -1,3 +1,8 @@
+/*************************************************************************/ /*!
+@File in the function prototype.
+@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
+@License Strictly Confidential.
+*/ /**************************************************************************/
#ifndef __khrplatform_h_
#define __khrplatform_h_
diff --git a/usr/lib/debug/usr/bin/sgx_init_test b/usr/lib/debug/usr/bin/sgx_init_test
index 51bbe7d..4df28a5 100755
--- a/usr/lib/debug/usr/bin/sgx_init_test
+++ b/usr/lib/debug/usr/bin/sgx_init_test
Binary files differ
diff --git a/usr/lib/debug/usr/bin/xeglinfo b/usr/lib/debug/usr/bin/xeglinfo
index 91c3b12..6a4f2f7 100755
--- a/usr/lib/debug/usr/bin/xeglinfo
+++ b/usr/lib/debug/usr/bin/xeglinfo
Binary files differ
diff --git a/usr/lib/debug/usr/bin/xgles1test1 b/usr/lib/debug/usr/bin/xgles1test1
index c6ef51e..6f9ace8 100755
--- a/usr/lib/debug/usr/bin/xgles1test1
+++ b/usr/lib/debug/usr/bin/xgles1test1
Binary files differ
diff --git a/usr/lib/debug/usr/bin/xgles2test1 b/usr/lib/debug/usr/bin/xgles2test1
index fe88053..f8e1cba 100755
--- a/usr/lib/debug/usr/bin/xgles2test1
+++ b/usr/lib/debug/usr/bin/xgles2test1
Binary files differ
diff --git a/usr/lib/debug/usr/bin/xmultiegltest b/usr/lib/debug/usr/bin/xmultiegltest
index d47b602..8254fcc 100755
--- a/usr/lib/debug/usr/bin/xmultiegltest
+++ b/usr/lib/debug/usr/bin/xmultiegltest
Binary files differ
diff --git a/usr/lib/debug/usr/lib/libEGL.so.1.9.6.0 b/usr/lib/debug/usr/lib/libEGL.so.1.9.6.0
index 50b6472..2f67b81 100755
--- a/usr/lib/debug/usr/lib/libEGL.so.1.9.6.0
+++ b/usr/lib/debug/usr/lib/libEGL.so.1.9.6.0
Binary files differ
diff --git a/usr/lib/debug/usr/lib/libGLESv1_CM.so.1.9.6.0 b/usr/lib/debug/usr/lib/libGLESv1_CM.so.1.9.6.0
index 4b49191..0e078c7 100755
--- a/usr/lib/debug/usr/lib/libGLESv1_CM.so.1.9.6.0
+++ b/usr/lib/debug/usr/lib/libGLESv1_CM.so.1.9.6.0
Binary files differ
diff --git a/usr/lib/debug/usr/lib/libGLESv2.so.1.9.6.0 b/usr/lib/debug/usr/lib/libGLESv2.so.1.9.6.0
index c5fa3e0..cee1614 100755
--- a/usr/lib/debug/usr/lib/libGLESv2.so.1.9.6.0
+++ b/usr/lib/debug/usr/lib/libGLESv2.so.1.9.6.0
Binary files differ
diff --git a/usr/lib/debug/usr/lib/libIMGegl.so.1.9.6.0 b/usr/lib/debug/usr/lib/libIMGegl.so.1.9.6.0
index 9e6e293..97ddb52 100755
--- a/usr/lib/debug/usr/lib/libIMGegl.so.1.9.6.0
+++ b/usr/lib/debug/usr/lib/libIMGegl.so.1.9.6.0
Binary files differ
diff --git a/usr/lib/debug/usr/lib/libPVRScopeServices.so.1.9.6.0 b/usr/lib/debug/usr/lib/libPVRScopeServices.so.1.9.6.0
index 452e4bb..cee6233 100755
--- a/usr/lib/debug/usr/lib/libPVRScopeServices.so.1.9.6.0
+++ b/usr/lib/debug/usr/lib/libPVRScopeServices.so.1.9.6.0
Binary files differ
diff --git a/usr/lib/debug/usr/lib/libglslcompiler.so.1.9.6.0 b/usr/lib/debug/usr/lib/libglslcompiler.so.1.9.6.0
index 1512e35..ba03da3 100755
--- a/usr/lib/debug/usr/lib/libglslcompiler.so.1.9.6.0
+++ b/usr/lib/debug/usr/lib/libglslcompiler.so.1.9.6.0
Binary files differ
diff --git a/usr/lib/debug/usr/lib/libpvr2d.so.1.9.6.0 b/usr/lib/debug/usr/lib/libpvr2d.so.1.9.6.0
index b2e23c3..1e9190e 100755
--- a/usr/lib/debug/usr/lib/libpvr2d.so.1.9.6.0
+++ b/usr/lib/debug/usr/lib/libpvr2d.so.1.9.6.0
Binary files differ
diff --git a/usr/lib/debug/usr/lib/libpvrws_OMAPDRI2.so.1.9.6.0 b/usr/lib/debug/usr/lib/libpvrws_OMAPDRI2.so.1.9.6.0
index 2f17c19..b03c8fa 100755
--- a/usr/lib/debug/usr/lib/libpvrws_OMAPDRI2.so.1.9.6.0
+++ b/usr/lib/debug/usr/lib/libpvrws_OMAPDRI2.so.1.9.6.0
Binary files differ
diff --git a/usr/lib/debug/usr/lib/libsrv_init.so.1.9.6.0 b/usr/lib/debug/usr/lib/libsrv_init.so.1.9.6.0
index e4ec35b..4ed665f 100755
--- a/usr/lib/debug/usr/lib/libsrv_init.so.1.9.6.0
+++ b/usr/lib/debug/usr/lib/libsrv_init.so.1.9.6.0
Binary files differ
diff --git a/usr/lib/debug/usr/lib/libsrv_um.so.1.9.6.0 b/usr/lib/debug/usr/lib/libsrv_um.so.1.9.6.0
index 3e6ab45..fc0c7f4 100755
--- a/usr/lib/debug/usr/lib/libsrv_um.so.1.9.6.0
+++ b/usr/lib/debug/usr/lib/libsrv_um.so.1.9.6.0
Binary files differ
diff --git a/usr/lib/debug/usr/lib/libusc.so.1.9.6.0 b/usr/lib/debug/usr/lib/libusc.so.1.9.6.0
index bf8ce6e..8ce1045 100755
--- a/usr/lib/debug/usr/lib/libusc.so.1.9.6.0
+++ b/usr/lib/debug/usr/lib/libusc.so.1.9.6.0
Binary files differ
diff --git a/usr/lib/debug/usr/lib/xorg/modules/drivers/omap_pvr_drv.so b/usr/lib/debug/usr/lib/xorg/modules/drivers/omap_pvr_drv.so
index 4400756..31e5417 100644
--- a/usr/lib/debug/usr/lib/xorg/modules/drivers/omap_pvr_drv.so
+++ b/usr/lib/debug/usr/lib/xorg/modules/drivers/omap_pvr_drv.so
Binary files differ
diff --git a/usr/lib/libEGL.so.1.9.6.0 b/usr/lib/libEGL.so.1.9.6.0
index c2c87aa..791378e 100644
--- a/usr/lib/libEGL.so.1.9.6.0
+++ b/usr/lib/libEGL.so.1.9.6.0
Binary files differ
diff --git a/usr/lib/libGLESv1_CM.so.1.9.6.0 b/usr/lib/libGLESv1_CM.so.1.9.6.0
index 46b75c8..b17eef8 100644
--- a/usr/lib/libGLESv1_CM.so.1.9.6.0
+++ b/usr/lib/libGLESv1_CM.so.1.9.6.0
Binary files differ
diff --git a/usr/lib/libGLESv2.so.1.9.6.0 b/usr/lib/libGLESv2.so.1.9.6.0
index 81d96ee..7fc6d31 100644
--- a/usr/lib/libGLESv2.so.1.9.6.0
+++ b/usr/lib/libGLESv2.so.1.9.6.0
Binary files differ
diff --git a/usr/lib/libIMGegl.so.1.9.6.0 b/usr/lib/libIMGegl.so.1.9.6.0
index af1688a..5a920a9 100644
--- a/usr/lib/libIMGegl.so.1.9.6.0
+++ b/usr/lib/libIMGegl.so.1.9.6.0
Binary files differ
diff --git a/usr/lib/libPVRScopeServices.so.1.9.6.0 b/usr/lib/libPVRScopeServices.so.1.9.6.0
index d485b8b..05b8bf7 100644
--- a/usr/lib/libPVRScopeServices.so.1.9.6.0
+++ b/usr/lib/libPVRScopeServices.so.1.9.6.0
Binary files differ
diff --git a/usr/lib/libglslcompiler.so.1.9.6.0 b/usr/lib/libglslcompiler.so.1.9.6.0
index cd01d88..d383c9e 100644
--- a/usr/lib/libglslcompiler.so.1.9.6.0
+++ b/usr/lib/libglslcompiler.so.1.9.6.0
Binary files differ
diff --git a/usr/lib/libpvr2d.so.1.9.6.0 b/usr/lib/libpvr2d.so.1.9.6.0
index 43f55e7..5612ea1 100644
--- a/usr/lib/libpvr2d.so.1.9.6.0
+++ b/usr/lib/libpvr2d.so.1.9.6.0
Binary files differ
diff --git a/usr/lib/libpvrws_OMAPDRI2.so.1.9.6.0 b/usr/lib/libpvrws_OMAPDRI2.so.1.9.6.0
index 76f19a9..ece916c 100644
--- a/usr/lib/libpvrws_OMAPDRI2.so.1.9.6.0
+++ b/usr/lib/libpvrws_OMAPDRI2.so.1.9.6.0
Binary files differ
diff --git a/usr/lib/libsrv_init.so.1.9.6.0 b/usr/lib/libsrv_init.so.1.9.6.0
index 69759c5..596d27e 100644
--- a/usr/lib/libsrv_init.so.1.9.6.0
+++ b/usr/lib/libsrv_init.so.1.9.6.0
Binary files differ
diff --git a/usr/lib/libsrv_um.so.1.9.6.0 b/usr/lib/libsrv_um.so.1.9.6.0
index c284cd4..519e80a 100644
--- a/usr/lib/libsrv_um.so.1.9.6.0
+++ b/usr/lib/libsrv_um.so.1.9.6.0
Binary files differ
diff --git a/usr/lib/libusc.so.1.9.6.0 b/usr/lib/libusc.so.1.9.6.0
index 03b4922..f340bd6 100644
--- a/usr/lib/libusc.so.1.9.6.0
+++ b/usr/lib/libusc.so.1.9.6.0
Binary files differ
diff --git a/usr/lib/xorg/modules/drivers/omap_pvr_drv.so b/usr/lib/xorg/modules/drivers/omap_pvr_drv.so
index 8fc45b6..9338c82 100644
--- a/usr/lib/xorg/modules/drivers/omap_pvr_drv.so
+++ b/usr/lib/xorg/modules/drivers/omap_pvr_drv.so
Binary files differ
diff --git a/usr/share/doc/sgx-lib-data/changelog.Debian.gz b/usr/share/doc/sgx-lib-data/changelog.Debian.gz
index 59e57ea..aeba0ea 100644
--- a/usr/share/doc/sgx-lib-data/changelog.Debian.gz
+++ b/usr/share/doc/sgx-lib-data/changelog.Debian.gz
Binary files differ
diff --git a/usr/share/doc/sgx-lib-dev/changelog.Debian.gz b/usr/share/doc/sgx-lib-dev/changelog.Debian.gz
index 59e57ea..aeba0ea 100644
--- a/usr/share/doc/sgx-lib-dev/changelog.Debian.gz
+++ b/usr/share/doc/sgx-lib-dev/changelog.Debian.gz
Binary files differ
diff --git a/usr/share/doc/sgx-lib/changelog.Debian.gz b/usr/share/doc/sgx-lib/changelog.Debian.gz
index 59e57ea..aeba0ea 100644
--- a/usr/share/doc/sgx-lib/changelog.Debian.gz
+++ b/usr/share/doc/sgx-lib/changelog.Debian.gz
Binary files differ
diff --git a/usr/share/doc/xserver-xorg-video-omap-pvr/changelog.Debian.gz b/usr/share/doc/xserver-xorg-video-omap-pvr/changelog.Debian.gz
index d5b518c..1d634b0 100644
--- a/usr/share/doc/xserver-xorg-video-omap-pvr/changelog.Debian.gz
+++ b/usr/share/doc/xserver-xorg-video-omap-pvr/changelog.Debian.gz
Binary files differ