jacinto6: add initial sgx binary content
authorVishal Mahaveer <vishalm@ti.com>
Thu, 23 May 2013 03:52:25 +0000 (22:52 -0500)
committerVishal Mahaveer <vishalm@ti.com>
Thu, 23 May 2013 03:52:25 +0000 (22:52 -0500)
Adding initial sgx binaries for jacinto6 based on kernel 3.8

Change-Id: I09da248d741feefaf46dd94473d3b2c76c5f20b1
Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
jacinto6/License_for_IMG_SGX_Binary_Image.txt [new file with mode: 0644]
jacinto6/README.SGX [new file with mode: 0644]
jacinto6/sgx.tgz [new file with mode: 0644]
jacinto6/sgx/Android.mk [new file with mode: 0644]

diff --git a/jacinto6/License_for_IMG_SGX_Binary_Image.txt b/jacinto6/License_for_IMG_SGX_Binary_Image.txt
new file mode 100644 (file)
index 0000000..983f547
--- /dev/null
@@ -0,0 +1,125 @@
+/*
+ * TECHNOLOGY AND SOFTWARE PUBLICLY AVAILABLE
+ * SOFTWARE LICENSE FOR OMAP(TM) 4 USER SPACE GRAPHICS DRIVER BINARY
+ *
+ * Copyright (c) 2011, Texas Instruments Incorporated.
+ * Portions (c), Imagination Technologies Limited.
+ *
+ * All rights reserved.
+ *
+ * Redistribution:  
+ *
+ * Redistribution and use in binary form, without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * * Redistributions must preserve existing copyright notices and reproduce
+ *   this license (including the above copyright notice and the disclaimer
+ *   below) in the documentation and/or other materials provided with the
+ *   distribution.
+ *
+ * * Neither the name of Texas Instruments Incorporated nor the names of its
+ *   suppliers may be used to endorse or promote products derived from this 
+ *   software without specific prior written permission.
+ *
+ * * No reverse engineering, decompilation, or disassembly of this software
+ *   is permitted.
+ *
+ * Limited patent license:
+ *
+ * Texas Instruments Incorporated (TI) grants a world-wide, royalty-free, 
+ * non-exclusive license under patents it now or hereafter owns or controls 
+ * to make, have made, use, import, offer to sell and sell ("Utilize") this
+ * software in its current form, but solely to the extent that any such 
+ * patent is necessary to  Utilize the software alone.  The patent license 
+ * shall not apply to any combinations which include this software. No 
+ * hardware per se is licensed hereunder.
+ *
+ * DISCLAIMER:
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 
+ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Certain third party licenses not included:
+ *
+ * Certain software may (a) require patent licenses from third parties
+ * claiming patent rights covering implementation of the software or (b) be
+ * based on industry recognized standards or software programs published by
+ * industry recognized standards bodies and certain third parties may claim
+ * to own patents or copyrights that cover implementation of those standards.
+ * You acknowledge and agree that (i) this License does not convey a license
+ * to any such third party patents and copyrights, (ii) you are responsible
+ * for any fees or royalties that may be payable to any third party based on
+ * such third party's interests in such software and (iii) you will indemnify
+ * TI against your failure to make any such payments and will defend any
+ * claim, suit or proceeding brought against TI insofar as such claim, suit
+ * or proceeding is based on or arises from such failure.
+ *
+ */
+
+-----------------------------------------------------------------------------
+
+Additional legal notices pertaining to portions of included software:
+
+
+Copyright (c) 2007-2009 The Khronos Group Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and/or associated documentation files (the
+"Materials"), to deal in the Materials without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Materials, and to
+permit persons to whom the Materials are 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 Materials.
+
+THE MATERIALS ARE 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.
+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
+MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
+
+
+--------
+
+SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
+
+Copyright (C) 2006 Silicon Graphics, Inc. All Rights Reserved.
+
+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 including the dates of first publication and
+either this permission notice or a reference to
+http://oss.sgi.com/projects/FreeB/ shall be included in all copies or
+substantial portions of the Software.
+
+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. IN NO EVENT SHALL
+SILICON GRAPHICS, INC. 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.
+
+Except as contained in this notice, the name of Silicon Graphics, Inc.
+shall not be used in advertising or otherwise to promote the sale, use
+or other dealings in this Software without prior written authorization
+from Silicon Graphics, Inc.
+#257696v2
diff --git a/jacinto6/README.SGX b/jacinto6/README.SGX
new file mode 100644 (file)
index 0000000..7c833be
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+ * TECHNOLOGY AND SOFTWARE PUBLICLY AVAILABLE
+ *
+ * Copyright (c) 2011, Texas Instruments Incorporated.
+ *
+ * All rights reserved.
+ *
+ */
+
+#==========================================================================
+# SGX Binaries
+#==========================================================================
+
+sgx.tgz a set of binaries built for SGX544.
+The SGXCORE and SGC_CORE_REV is appended to the end of each file. pvrsrvinit is
+now a wrapper which detects the current processor and loads the corresponding
+core specific pvrsrvinit.
+
+[DDK Version]
+    1.9@2166536
+[DDK commit ID]
+    250e6f5 SGX-UM: Creating two fb instances for JB MR1.
+[Branch]
+    origin/1.9/hwc1.1
+[DDK Tag]
+    1.9IMG2166536_TI.0006
+[Kernel modules built against]
+    Kernel Version: 3.4.9 with CONFIG_MODVERSIONS=y
+
+#===========================================================================
+#   Building SGX Kernel Modules
+#===========================================================================
+SGX kernel modules source is located in sgx_src/eurasia_km/
+
+Make sure kernel is built before building modules
+
+# cd ANDROID_ROOT/device/ti/proprietary-open/omap5/sgx_src/eurasia_km/eurasiacon/build/linux2/omap4430_android/
+# export KERNELDIR=path_to_kernel
+
+To build for OMAP5 (SGX 544 multi core):
+# make ARCH=arm CROSS_COMPILE=arm-eabi- TARGET_PRODUCT="omap5sevm" BUILD=release TARGET_SGX=544
+
+Once the .ko is built, install it onto device (/system/lib/modules)
+
+# cd ANDROID_ROOT/device/ti/proprietary-open/omap5/sgx_src/eurasia_km/eurasiacon/binary2_544_116_omap4430_android_release/target/
+# adb push pvrsrvkm_sgx544_116.ko /system/lib/modules/
+
+If you build the kernel module, it is highly advisable to replace the binaries
+in your device with the ones located in sgx.tgz to avoid incompatibility.
+
+Reboot device.
diff --git a/jacinto6/sgx.tgz b/jacinto6/sgx.tgz
new file mode 100644 (file)
index 0000000..e8e1106
Binary files /dev/null and b/jacinto6/sgx.tgz differ
diff --git a/jacinto6/sgx/Android.mk b/jacinto6/sgx/Android.mk
new file mode 100644 (file)
index 0000000..128a06d
--- /dev/null
@@ -0,0 +1,150 @@
+# Copyright (C) 2011 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+define _add-sgx-vendor-lib
+include $$(CLEAR_VARS)
+$(if $(word 2,$1),$(error Invalid SGX module name $1))
+LOCAL_MODULE := $(basename $(notdir $1))
+LOCAL_SRC_FILES := $1
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_SUFFIX := $(suffix $1)
+LOCAL_MODULE_CLASS := SHARED_LIBRARIES
+LOCAL_MODULE_PATH := $$(TARGET_OUT_VENDOR)/$(dir $1)
+LOCAL_STRIP_MODULE := false
+OVERRIDE_BUILT_MODULE_PATH := $$(TARGET_OUT_INTERMEDIATE_LIBRARIES)
+LOCAL_PATH := $$(img-sgx.untarred_bin)
+include $$(BUILD_SYSTEM)/base_rules.mk
+$$(LOCAL_BUILT_MODULE) : PRIVATE_SRC := $$(img-sgx.untarred_bin)/$1
+$$(LOCAL_BUILT_MODULE) : $$(img-sgx.untarred_timestamp) | $$(ACP)
+       @echo "Copy $$@ <- $$(PRIVATE_SRC)"
+       @mkdir -p $(dir $$@)
+       $$(hide) $$(ACP) -fp $$(PRIVATE_SRC) $$@
+endef
+
+define _add-sgx-vendor-bin
+include $$(CLEAR_VARS)
+$(if $(word 2,$1),$(error Invalid SGX module name $1))
+LOCAL_MODULE := $(basename $(notdir $1))
+LOCAL_SRC_FILES := $1
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_SUFFIX := $(suffix $1)
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_MODULE_PATH := $$(TARGET_OUT_VENDOR)/$(dir $1)
+LOCAL_STRIP_MODULE := false
+OVERRIDE_BUILT_MODULE_PATH := $$(TARGET_OUT_INTERMEDIATE_EXECUTABLES)
+LOCAL_PATH := $$(img-sgx.untarred_bin)
+include $$(BUILD_SYSTEM)/base_rules.mk
+$$(LOCAL_BUILT_MODULE) : PRIVATE_SRC := $$(img-sgx.untarred_bin)/$1
+$$(LOCAL_BUILT_MODULE) : $$(img-sgx.untarred_timestamp) | $$(ACP)
+       @echo "Copy $$@ <- $$(PRIVATE_SRC)"
+       @mkdir -p $$(dir $$@)
+       $$(hide) $$(ACP) -fp $$(PRIVATE_SRC) $$@
+endef
+
+define _add-sgx-vendor-etc
+include $$(CLEAR_VARS)
+$(if $(word 2,$1),$(error Invalid SGX module name $1))
+LOCAL_MODULE := $(basename $(notdir $1))
+LOCAL_SRC_FILES := $1
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_SUFFIX := $(suffix $1)
+LOCAL_MODULE_CLASS := ETC
+LOCAL_MODULE_PATH := $$(TARGET_OUT)/$(dir $1)
+LOCAL_STRIP_MODULE := false
+OVERRIDE_BUILT_MODULE_PATH := $$(TARGET_OUT_INTERMEDIATE_ETC)
+LOCAL_PATH := $$(img-sgx.untarred_bin)
+include $$(BUILD_SYSTEM)/base_rules.mk
+$$(LOCAL_BUILT_MODULE) : PRIVATE_SRC := $$(img-sgx.untarred_bin)/$1
+$$(LOCAL_BUILT_MODULE) : $$(img-sgx.untarred_timestamp) | $$(ACP)
+       @echo "Copy $$@ <- $$(PRIVATE_SRC)"
+       @mkdir -p $$(dir $$@)
+       $$(hide) $$(ACP) -fp $$(PRIVATE_SRC) $$@
+endef
+
+define _add-sgx-vendor-km
+include $$(CLEAR_VARS)
+$(if $(word 2,$1),$(error Invalid SGX module name $1))
+LOCAL_MODULE := $(basename $(notdir $1))
+LOCAL_SRC_FILES := $1
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_SUFFIX := $(suffix $1)
+LOCAL_MODULE_CLASS := ETC
+LOCAL_MODULE_PATH := $$(TARGET_OUT)/lib/$(dir $1)
+LOCAL_STRIP_MODULE := false
+OVERRIDE_BUILT_MODULE_PATH := $$(TARGET_OUT_INTERMEDIATE_ETC)
+LOCAL_PATH := $$(img-sgx.untarred_bin)
+include $$(BUILD_SYSTEM)/base_rules.mk
+$$(LOCAL_BUILT_MODULE) : PRIVATE_SRC := $$(img-sgx.untarred_bin)/$1
+$$(LOCAL_BUILT_MODULE) : $$(img-sgx.untarred_timestamp) | $$(ACP)
+       @echo "Copy $$@ <- $$(PRIVATE_SRC)"
+       @mkdir -p $$(dir $$@)
+       $$(hide) $$(ACP) -fp $$(PRIVATE_SRC) $$@
+endef
+
+prebuilt_sgx_vendor_libs := \
+       lib/libIMGegl_SGX544_116.so \
+       lib/libglslcompiler_SGX544_116.so \
+       lib/libusc_SGX544_116.so \
+       lib/libPVRScopeServices_SGX544_116.so \
+       lib/libsrv_um_SGX544_116.so \
+       lib/hw/gralloc.jacinto6.so \
+       lib/libpvrANDROID_WSEGL_SGX544_116.so \
+       lib/libpvr2d_SGX544_116.so \
+       lib/libsrv_init_SGX544_116.so \
+       lib/egl/libGLESv1_CM_POWERVR_SGX544_116.so \
+       lib/egl/libGLESv2_POWERVR_SGX544_116.so \
+       lib/egl/libEGL_POWERVR_SGX544_116.so
+
+prebuilt_sgx_vendor_bins := \
+       bin/pvrsrvinit \
+       bin/pvrsrvctl_SGX544_116
+
+prebuilt_sgx_vendor_etc := \
+       etc/powervr.ini
+
+prebuilt_sgx_vendor_km := \
+       modules/pvrsrvkm_sgx544_116.ko
+
+prebuilt_sgx_modules := \
+  $(foreach _file,$(prebuilt_sgx_vendor_libs) $(prebuilt_sgx_vendor_bins) $(prebuilt_sgx_vendor_etc) $(prebuilt_sgx_vendor_km),\
+    $(notdir $(basename $(_file))))
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := ti_jacinto6_sgx_libs
+LOCAL_MODULE_TAGS := optional
+LOCAL_REQUIRED_MODULES := $(prebuilt_sgx_modules)
+include $(BUILD_PHONY_PACKAGE)
+
+$(foreach _file,$(prebuilt_sgx_vendor_libs),\
+  $(eval $(call _add-sgx-vendor-lib,$(_file))))
+
+$(foreach _file,$(prebuilt_sgx_vendor_bins),\
+  $(eval $(call _add-sgx-vendor-bin,$(_file))))
+
+$(foreach _file,$(prebuilt_sgx_vendor_etc),\
+  $(eval $(call _add-sgx-vendor-etc,$(_file))))
+
+$(foreach _file,$(prebuilt_sgx_vendor_km),\
+  $(eval $(call _add-sgx-vendor-km,$(_file))))
+
+prebuilt_sgx_modules :=
+prebuilt_sgx_vendor_libs :=
+prebuilt_sgx_vendor_bins :=
+prebuilt_sgx_vendor_etc :=
+prebuilt_sgx_vendor_km :=
+_add-sgx-vendor-lib :=
+_add-sgx-vendor-bin :=
+_add-sgx-vendor-etc :=
+_add-sgx-vendor-km :=