diff options
author | Rashed Abdel-Tawab <rashed@linux.com> | 2016-10-05 02:38:52 -0400 |
---|---|---|
committer | Rashed Abdel-Tawab <rashed@linux.com> | 2016-10-05 03:12:15 -0400 |
commit | d953db51f62b88e2fe97c256047e8513929f97e4 (patch) | |
tree | c057513d7af9ebd183a75a4ccc72aee5997fd922 | |
parent | 0c5ba3cacdf33b44fdefeb87b4ea37034a4f6e1c (diff) |
common: Add extraction scripts for common qcom blobs
Change-Id: I35d1816447b3f2bf34883e60fb1e8128e2107c12
-rw-r--r-- | extractors/README.md | 16 | ||||
-rw-r--r-- | extractors/audio-msm8996.txt | 2 | ||||
-rwxr-xr-x | extractors/extract-files.sh | 47 | ||||
-rw-r--r-- | extractors/graphics-msm8916-32.txt | 28 | ||||
-rw-r--r-- | extractors/graphics-msm8916-64.txt | 28 | ||||
-rw-r--r-- | extractors/graphics-msm8974.txt | 20 | ||||
-rw-r--r-- | extractors/graphics-msm8992.txt | 40 | ||||
-rw-r--r-- | extractors/graphics-msm8994.txt | 42 | ||||
-rw-r--r-- | extractors/graphics-msm8996.txt | 56 | ||||
-rwxr-xr-x | extractors/setup-makefiles.sh | 178 |
10 files changed, 457 insertions, 0 deletions
diff --git a/extractors/README.md b/extractors/README.md new file mode 100644 index 0000000..77064bd --- /dev/null +++ b/extractors/README.md @@ -0,0 +1,16 @@ +# Qualcomm Binaries +Binary makefile generation scripts + +## Graphics: +### Origins: +msm8916: 6.0.1 blobs from kipper/crackling +msm8974: 6.0.1 blobs from bacon +msm8992: 7.0 blobs from bullhead nrd90s +msm8994: 7.0 blobs from angler nrd90u +msm8996: 7.0 blobs from g5 (f700) v18g nrd90m +### Min kernel patch level required: +msm8916: Any 5.0+ kernel +msm8974: Any 5.1+ kernel +msm8992: Any 6.0+ kernel +msm8994: Any 6.0+ kernel +msm8996: Patched mdss/kgsl up to LA.UM.5.5.r1-00100-8x96.0 diff --git a/extractors/audio-msm8996.txt b/extractors/audio-msm8996.txt new file mode 100644 index 0000000..a8dc3e8 --- /dev/null +++ b/extractors/audio-msm8996.txt @@ -0,0 +1,2 @@ +# Listen +vendor/lib/hw/sound_trigger.primary.msm8996.so diff --git a/extractors/extract-files.sh b/extractors/extract-files.sh new file mode 100755 index 0000000..16a96e4 --- /dev/null +++ b/extractors/extract-files.sh @@ -0,0 +1,47 @@ +#!/bin/bash +# +# Copyright (C) 2016 The CyanogenMod 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. +# + +set -e + +# Required! +DEVICE=binaries +DEVICE_COMMON=binaries +VENDOR=qcom + +# Load extract_utils and do some sanity checks +MY_DIR="${BASH_SOURCE%/*}" +if [[ ! -d "$MY_DIR" ]]; then MY_DIR="$PWD"; fi + +CM_ROOT="$MY_DIR"/../../.. + +HELPER="$CM_ROOT"/vendor/cm/build/tools/extract_utils.sh +if [ ! -f "$HELPER" ]; then + echo "Unable to find helper script at $HELPER" + exit 1 +fi +. "$HELPER" + +SRC=$1 +PLATFORM=$2 +SUBSYSTEM=$3 + +# Initialize the helper for common device +setup_vendor "$DEVICE/$PLATFORM/$SUBSYSTEM" "$VENDOR" "$CM_ROOT" true true $SUBSYSTEM + +extract "$MY_DIR"/"$SUBSYSTEM"-"$PLATFORM".txt "$SRC" + +"$MY_DIR"/setup-makefiles.sh diff --git a/extractors/graphics-msm8916-32.txt b/extractors/graphics-msm8916-32.txt new file mode 100644 index 0000000..6ac4e08 --- /dev/null +++ b/extractors/graphics-msm8916-32.txt @@ -0,0 +1,28 @@ +# Graphics +vendor/lib/egl/eglsubAndroid.so +vendor/lib/egl/eglSubDriverAndroid.so +vendor/lib/egl/libEGL_adreno.so +vendor/lib/egl/libESXEGL_adreno.so +vendor/lib/egl/libESXGLESv1_CM_adreno.so +vendor/lib/egl/libESXGLESv2_adreno.so +vendor/lib/egl/libGLESv1_CM_adreno.so +vendor/lib/egl/libGLESv2_adreno.so +vendor/lib/egl/libq3dtools_adreno.so +vendor/lib/egl/libQTapGLES.so +vendor/lib/egl/libRBEGL_adreno.so +vendor/lib/egl/libRBGLESv1_CM_adreno.so +vendor/lib/egl/libRBGLESv2_adreno.so +vendor/lib/libadreno_utils.so +vendor/lib/libc2d30-a3xx.so +vendor/lib/libc2d30-a4xx.so +vendor/lib/libC2D2.so +vendor/lib/libCB.so +vendor/lib/libgsl.so +vendor/lib/libllvm-glnext.so +vendor/lib/libllvm-qcom.so +vendor/lib/libOpenCL.so +vendor/lib/libRSDriver_adreno.so +vendor/lib/librs_adreno.so +vendor/lib/librs_adreno_sha1.so +vendor/lib/libsc-a3xx.so +vendor/lib/libscale.so diff --git a/extractors/graphics-msm8916-64.txt b/extractors/graphics-msm8916-64.txt new file mode 100644 index 0000000..a95719b --- /dev/null +++ b/extractors/graphics-msm8916-64.txt @@ -0,0 +1,28 @@ +# Graphics +vendor/lib64/egl/eglsubAndroid.so +vendor/lib64/egl/eglSubDriverAndroid.so +vendor/lib64/egl/libEGL_adreno.so +vendor/lib64/egl/libESXEGL_adreno.so +vendor/lib64/egl/libESXGLESv1_CM_adreno.so +vendor/lib64/egl/libESXGLESv2_adreno.so +vendor/lib64/egl/libGLESv1_CM_adreno.so +vendor/lib64/egl/libGLESv2_adreno.so +vendor/lib64/egl/libq3dtools_adreno.so +vendor/lib64/egl/libQTapGLES.so +vendor/lib64/egl/libRBEGL_adreno.so +vendor/lib64/egl/libRBGLESv1_CM_adreno.so +vendor/lib64/egl/libRBGLESv2_adreno.so +vendor/lib64/libadreno_utils.so +vendor/lib64/libc2d30-a3xx.so +vendor/lib64/libc2d30-a4xx.so +vendor/lib64/libC2D2.so +vendor/lib64/libCB.so +vendor/lib64/libgsl.so +vendor/lib64/libllvm-glnext.so +vendor/lib64/libllvm-qcom.so +vendor/lib64/libOpenCL.so +vendor/lib64/libRSDriver_adreno.so +vendor/lib64/librs_adreno.so +vendor/lib64/librs_adreno_sha1.so +vendor/lib64/libsc-a3xx.so +vendor/lib64/libscale.so diff --git a/extractors/graphics-msm8974.txt b/extractors/graphics-msm8974.txt new file mode 100644 index 0000000..23797c0 --- /dev/null +++ b/extractors/graphics-msm8974.txt @@ -0,0 +1,20 @@ +# Graphics +vendor/lib/egl/eglsubAndroid.so +vendor/lib/egl/libEGL_adreno.so +vendor/lib/egl/libGLESv1_CM_adreno.so +vendor/lib/egl/libGLESv2_adreno.so +vendor/lib/egl/libq3dtools_adreno.so +vendor/lib/libadreno_utils.so +vendor/lib/libbccQTI.so +vendor/lib/libC2D2.so +vendor/lib/libCB.so +vendor/lib/libc2d30-a3xx.so +vendor/lib/libgsl.so +vendor/lib/libllvm-qcom.so +vendor/lib/libOpenCL.so +vendor/lib/libsc-a3xx.so +vendor/lib/libRSDriver_adreno.so +vendor/lib/librs_adreno.so +vendor/lib/librs_adreno_sha1.so +vendor/lib/libscale.so +vendor/lib/libuiblur.so diff --git a/extractors/graphics-msm8992.txt b/extractors/graphics-msm8992.txt new file mode 100644 index 0000000..5395de3 --- /dev/null +++ b/extractors/graphics-msm8992.txt @@ -0,0 +1,40 @@ +# Graphics +vendor/lib/hw/vulkan.msm8992.so +vendor/lib/egl/eglSubDriverAndroid.so +vendor/lib/egl/libEGL_adreno.so +vendor/lib/egl/libGLESv1_CM_adreno.so +vendor/lib/egl/libGLESv2_adreno.so +vendor/lib/egl/libq3dtools_adreno.so +vendor/lib/libC2D2.so +vendor/lib/libCB.so +vendor/lib/libRSDriver_adreno.so +vendor/lib/libadreno_utils.so +vendor/lib/libbccQTI.so +vendor/lib/libc2d30-a4xx.so +vendor/lib/libgsl.so +vendor/lib/libllvm-glnext.so +vendor/lib/libllvm-qcom.so +vendor/lib/libllvm-qgl.so +vendor/lib/librs_adreno.so +vendor/lib/librs_adreno_sha1.so +vendor/lib/libscale.so +vendor/lib64/hw/vulkan.msm8992.so +vendor/lib64/egl/eglSubDriverAndroid.so +vendor/lib64/egl/libEGL_adreno.so +vendor/lib64/egl/libGLESv1_CM_adreno.so +vendor/lib64/egl/libGLESv2_adreno.so +vendor/lib64/egl/libq3dtools_adreno.so +vendor/lib64/libC2D2.so +vendor/lib64/libCB.so +vendor/lib64/libRSDriver_adreno.so +vendor/lib64/libadreno_utils.so +vendor/lib64/libbccQTI.so +vendor/lib64/libc2d30-a4xx.so +vendor/lib64/libgsl.so +vendor/lib64/libllvm-glnext.so +vendor/lib64/libllvm-qcom.so +vendor/lib64/libllvm-qgl.so +vendor/lib64/librs_adreno.so +vendor/lib64/librs_adreno_sha1.so +vendor/lib64/libscale.so +vendor/lib64/libuiblur.so diff --git a/extractors/graphics-msm8994.txt b/extractors/graphics-msm8994.txt new file mode 100644 index 0000000..e956d80 --- /dev/null +++ b/extractors/graphics-msm8994.txt @@ -0,0 +1,42 @@ +# Graphics +vendor/lib/hw/vulkan.msm8994.so +vendor/lib/egl/eglSubDriverAndroid.so +vendor/lib/egl/libEGL_adreno.so +vendor/lib/egl/libGLESv1_CM_adreno.so +vendor/lib/egl/libGLESv2_adreno.so +vendor/lib/egl/libq3dtools_adreno.so +vendor/lib/libC2D2.so +vendor/lib/libCB.so +vendor/lib/libRSDriver_adreno.so +vendor/lib/libadreno_utils.so +vendor/lib/libbccQTI.so +vendor/lib/libc2d30-a4xx.so +vendor/lib/libgsl.so +vendor/lib/libllvm-glnext.so +vendor/lib/libllvm-qcom.so +vendor/lib/libllvm-qgl.so +vendor/lib/librs_adreno.so +vendor/lib/librs_adreno_sha1.so +vendor/lib/libscale.so +vendor/lib64/hw/vulkan.msm8994.so +vendor/lib64/egl/eglSubDriverAndroid.so +vendor/lib64/egl/libEGL_adreno.so +vendor/lib64/egl/libGLESv1_CM_adreno.so +vendor/lib64/egl/libGLESv2_adreno.so +vendor/lib64/egl/libq3dtools_adreno.so +vendor/lib64/libC2D2.so +vendor/lib64/libCB.so +vendor/lib64/libRSDriver_adreno.so +vendor/lib64/libadreno_utils.so +vendor/lib64/libbccQTI.so +vendor/lib64/libc2d30-a4xx.so +vendor/lib64/libgsl.so +vendor/lib64/libllvm-glnext.so +vendor/lib64/libllvm-qcom.so +vendor/lib64/libllvm-qgl.so +vendor/lib64/libmm-disp-apis.so +vendor/lib64/libmm-qdcm.so +vendor/lib64/librs_adreno.so +vendor/lib64/librs_adreno_sha1.so +vendor/lib64/libscale.so +vendor/lib64/libuiblur.so diff --git a/extractors/graphics-msm8996.txt b/extractors/graphics-msm8996.txt new file mode 100644 index 0000000..66234f5 --- /dev/null +++ b/extractors/graphics-msm8996.txt @@ -0,0 +1,56 @@ +# Graphics +vendor/lib/hw/vulkan.msm8996.so +vendor/lib/egl/eglSubDriverAndroid.so +vendor/lib/egl/libEGL_adreno.so +vendor/lib/egl/libGLESv1_CM_adreno.so +vendor/lib/egl/libGLESv2_adreno.so +vendor/lib/egl/libQTapGLES.so +vendor/lib/egl/libq3dtools_adreno.so +vendor/lib/libC2D2.so +vendor/lib/libCB.so +vendor/lib/libOpenCL.so +vendor/lib/libRSDriver_adreno.so +vendor/lib/libadreno_utils.so +vendor/lib/libbccQTI.so +vendor/lib/libc2d30-a5xx.so +vendor/lib/libc2d30_bltlib.so +vendor/lib/libgsl.so +vendor/lib/libllvm-glnext.so +vendor/lib/libllvm-qcom.so +vendor/lib/libllvm-qgl.so +vendor/lib/libmmQSM.so +vendor/lib/librs_adreno.so +vendor/lib/librs_adreno_sha1.so +vendor/lib/libsd_sdk_display.so +-vendor/lib/libsdm-disp-apis.so +vendor/lib64/hw/vulkan.msm8996.so +vendor/lib64/egl/eglSubDriverAndroid.so +vendor/lib64/egl/libEGL_adreno.so +vendor/lib64/egl/libGLESv1_CM_adreno.so +vendor/lib64/egl/libGLESv2_adreno.so +vendor/lib64/egl/libQTapGLES.so +vendor/lib64/egl/libq3dtools_adreno.so +vendor/lib64/libC2D2.so +vendor/lib64/libCB.so +vendor/lib64/libOpenCL.so +vendor/lib64/libRSDriver_adreno.so +vendor/lib64/libadreno_utils.so +vendor/lib64/libbccQTI.so +vendor/lib64/libc2d30-a5xx.so +vendor/lib64/libc2d30_bltlib.so +vendor/lib64/libgsl.so +vendor/lib64/libllvm-glnext.so +vendor/lib64/libllvm-qcom.so +vendor/lib64/libllvm-qgl.so +vendor/lib64/libmm-disp-apis.so +vendor/lib64/libmm-qdcm.so +vendor/lib64/libmmQSM.so +vendor/lib64/librs_adreno.so +vendor/lib64/librs_adreno_sha1.so +vendor/lib64/libscalar.so +vendor/lib64/libsd_sdk_display.so +vendor/lib64/libsdm-color.so +vendor/lib64/libsdm-diag.so +-vendor/lib64/libsdm-disp-apis.so +vendor/lib64/libsdmextension.so +vendor/lib64/libuiblur.so diff --git a/extractors/setup-makefiles.sh b/extractors/setup-makefiles.sh new file mode 100755 index 0000000..0161cb5 --- /dev/null +++ b/extractors/setup-makefiles.sh @@ -0,0 +1,178 @@ +#!/bin/bash +# +# Copyright (C) 2016 The CyanogenMod 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. +# + +set -e + +# Required! +DEVICE=binaries +DEVICE_COMMON="common/extractors" +VENDOR=qcom + +# Load extractutils and do some sanity checks +MY_DIR="${BASH_SOURCE%/*}" +if [[ ! -d "$MY_DIR" ]]; then MY_DIR="$PWD"; fi + +CM_ROOT="$MY_DIR"/../../../.. + +HELPER="$CM_ROOT"/vendor/cm/build/tools/extract_utils.sh +if [ ! -f "$HELPER" ]; then + echo "Unable to find helper script at $HELPER" + exit 1 +fi +. "$HELPER" + +PLATFORM=msm8916 +SUBSYSTEM=graphics + +# Initialize the helper +setup_vendor "$DEVICE/$PLATFORM/$SUBSYSTEM" "$VENDOR" "$CM_ROOT" true true $SUBSYSTEM + +# Copyright headers and guards +write_headers $PLATFORM TARGET_BOARD_PLATFORM + +# Qualcomm BSP blobs - we put a conditional around here +# in case the BSP is actually being built +echo "ifeq (\$(QCPATH),)" >> "$PRODUCTMK" + +write_makefiles "$MY_DIR"/"$SUBSYSTEM-$PLATFORM"-32.txt + +printf '\n%s\n' "ifneq (\$(TARGET_ARCH), arm)" >> "$PRODUCTMK" +write_makefiles "$MY_DIR"/"$SUBSYSTEM-$PLATFORM"-64.txt +echo "endif" >> "$PRODUCTMK" + +printf '\n%s\n' "endif" >> "$PRODUCTMK" + +# We are done! +write_footers + + +PLATFORM=msm8974 +SUBSYSTEM=graphics + +# Initialize the helper +setup_vendor "$DEVICE/$PLATFORM/$SUBSYSTEM" "$VENDOR" "$CM_ROOT" true true $SUBSYSTEM + +# Copyright headers and guards +write_headers $PLATFORM TARGET_BOARD_PLATFORM + +# Qualcomm BSP blobs - we put a conditional around here +# in case the BSP is actually being built +printf '\n%s\n' "ifeq (\$(QCPATH),)" >> "$PRODUCTMK" + +write_makefiles "$MY_DIR"/"$SUBSYSTEM-$PLATFORM".txt + +echo "endif" >> "$PRODUCTMK" + +# We are done! +write_footers + +PLATFORM=msm8992 +SUBSYSTEM=graphics + +# Initialize the helper +setup_vendor "$DEVICE/$PLATFORM/$SUBSYSTEM" "$VENDOR" "$CM_ROOT" true true $SUBSYSTEM + +# Copyright headers and guards +write_headers $PLATFORM TARGET_BOARD_PLATFORM + +# Qualcomm BSP blobs - we put a conditional around here +# in case the BSP is actually being built +printf '\n%s\n' "ifeq (\$(QCPATH),)" >> "$PRODUCTMK" + +write_makefiles "$MY_DIR"/"$SUBSYSTEM-$PLATFORM".txt + +echo "endif" >> "$PRODUCTMK" + +cat << EOF >> "$ANDROIDMK" +\$(shell mkdir -p \$(PRODUCT_OUT)/system/vendor/lib/egl && pushd \$(PRODUCT_OUT)/system/vendor/lib > /dev/null && ln -s egl/libEGL_adreno.so libEGL_adreno.so && popd > /dev/null) +\$(shell mkdir -p \$(PRODUCT_OUT)/system/vendor/lib64/egl && pushd \$(PRODUCT_OUT)/system/vendor/lib64 > /dev/null && ln -s egl/libEGL_adreno.so libEGL_adreno.so && popd > /dev/null) +EOF + +# We are done! +write_footers + +PLATFORM=msm8994 +SUBSYSTEM=graphics + +# Initialize the helper +setup_vendor "$DEVICE/$PLATFORM/$SUBSYSTEM" "$VENDOR" "$CM_ROOT" true true $SUBSYSTEM + +# Copyright headers and guards +write_headers $PLATFORM TARGET_BOARD_PLATFORM + +# Qualcomm BSP blobs - we put a conditional around here +# in case the BSP is actually being built +printf '\n%s\n' "ifeq (\$(QCPATH),)" >> "$PRODUCTMK" + +write_makefiles "$MY_DIR"/"$SUBSYSTEM-$PLATFORM".txt + +echo "endif" >> "$PRODUCTMK" + +cat << EOF >> "$ANDROIDMK" +\$(shell mkdir -p \$(PRODUCT_OUT)/system/vendor/lib/egl && pushd \$(PRODUCT_OUT)/system/vendor/lib > /dev/null && ln -s egl/libEGL_adreno.so libEGL_adreno.so && popd > /dev/null) +\$(shell mkdir -p \$(PRODUCT_OUT)/system/vendor/lib64/egl && pushd \$(PRODUCT_OUT)/system/vendor/lib64 > /dev/null && ln -s egl/libEGL_adreno.so libEGL_adreno.so && popd > /dev/null) +EOF + +# We are done! +write_footers + +PLATFORM=msm8996 +SUBSYSTEM=graphics + +# Initialize the helper +setup_vendor "$DEVICE/$PLATFORM/$SUBSYSTEM" "$VENDOR" "$CM_ROOT" true true $SUBSYSTEM + +# Copyright headers and guards +write_headers $PLATFORM TARGET_BOARD_PLATFORM + +# Qualcomm BSP blobs - we put a conditional around here +# in case the BSP is actually being built +printf '\n%s\n' "ifeq (\$(QCPATH),)" >> "$PRODUCTMK" +printf '\n%s\n' "ifeq (\$(QCPATH),)" >> "$ANDROIDMK" + +write_makefiles "$MY_DIR"/"$SUBSYSTEM-$PLATFORM".txt + +echo "endif" >> "$PRODUCTMK" + +cat << EOF >> "$ANDROIDMK" +endif + +\$(shell mkdir -p \$(PRODUCT_OUT)/system/vendor/lib/egl && pushd \$(PRODUCT_OUT)/system/vendor/lib > /dev/null && ln -s egl/libEGL_adreno.so libEGL_adreno.so && popd > /dev/null) +\$(shell mkdir -p \$(PRODUCT_OUT)/system/vendor/lib64/egl && pushd \$(PRODUCT_OUT)/system/vendor/lib64 > /dev/null && ln -s egl/libEGL_adreno.so libEGL_adreno.so && popd > /dev/null) +EOF + +# We are done! +write_footers + +SUBSYSTEM=audio + +# Initialize the helper +setup_vendor "$DEVICE/$PLATFORM/$SUBSYSTEM" "$VENDOR" "$CM_ROOT" true true $SUBSYSTEM + +# Copyright headers and guards +write_headers $PLATFORM TARGET_BOARD_PLATFORM + +# Qualcomm BSP blobs - we put a conditional around here +# in case the BSP is actually being built +printf '\n%s\n' "ifeq (\$(QCPATH),)" >> "$PRODUCTMK" + +write_makefiles "$MY_DIR"/"$SUBSYSTEM-$PLATFORM".txt + +echo "endif" >> "$PRODUCTMK" + +# We are done! +write_footers |