commit 9d212ba3f54dbdc3b0df6b0e15cee2519688146b Author: SamarV-121 Date: Thu Aug 29 09:37:42 2019 +0000 Init trees diff --git a/Android.mk b/Android.mk new file mode 100644 index 0000000..606af4f --- /dev/null +++ b/Android.mk @@ -0,0 +1,83 @@ +# +# Copyright (C) 2018-2019 The LineageOS Project +# +# SPDX-License-Identifier: Apache-2.0 +# + +LOCAL_PATH := $(call my-dir) + +ifneq ($(filter RMX1901 RMX1851,$(TARGET_DEVICE)),) +include $(call all-makefiles-under,$(LOCAL_PATH)) + +include $(CLEAR_VARS) + +# A/B builds require us to create the mount points at compile time. +# Just creating it for all cases since it does not hurt. +FIRMWARE_MOUNT_POINT := $(TARGET_OUT_VENDOR)/firmware_mnt +$(FIRMWARE_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE) + @echo "Creating $(FIRMWARE_MOUNT_POINT)" + @mkdir -p $(TARGET_OUT_VENDOR)/firmware_mnt + +BT_FIRMWARE_MOUNT_POINT := $(TARGET_OUT_VENDOR)/bt_firmware +$(BT_FIRMWARE_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE) + @echo "Creating $(BT_FIRMWARE_MOUNT_POINT)" + @mkdir -p $(TARGET_OUT_VENDOR)/bt_firmware + +DSP_MOUNT_POINT := $(TARGET_OUT_VENDOR)/dsp +$(DSP_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE) + @echo "Creating $(DSP_MOUNT_POINT)" + @mkdir -p $(TARGET_OUT_VENDOR)/dsp + +ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_MOUNT_POINT) $(BT_FIRMWARE_MOUNT_POINT) $(DSP_MOUNT_POINT) + +RFS_MSM_ADSP_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/adsp/ +$(RFS_MSM_ADSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE) + @echo "Creating RFS MSM ADSP folder structure: $@" + @rm -rf $@/* + @mkdir -p $(dir $@)/readonly/vendor + $(hide) ln -sf /data/vendor/tombstones/rfs/lpass $@/ramdumps + $(hide) ln -sf /mnt/vendor/persist/rfs/msm/adsp $@/readwrite + $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared + $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos + $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware + $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware + +RFS_MSM_CDSP_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/cdsp/ +$(RFS_MSM_CDSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE) + @echo "Creating RFS MSM CDSP folder structure: $@" + @rm -rf $@/* + @mkdir -p $(dir $@)/readonly/vendor + $(hide) ln -sf /data/vendor/tombstones/rfs/cdsp $@/ramdumps + $(hide) ln -sf /mnt/vendor/persist/rfs/msm/cdsp $@/readwrite + $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared + $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos + $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware + $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware + +RFS_MSM_MPSS_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/mpss/ +$(RFS_MSM_MPSS_SYMLINKS): $(LOCAL_INSTALLED_MODULE) + @echo "Creating RFS MSM MPSS folder structure: $@" + @rm -rf $@/* + @mkdir -p $(dir $@)/readonly/vendor + $(hide) ln -sf /data/vendor/tombstones/rfs/modem $@/ramdumps + $(hide) ln -sf /mnt/vendor/persist/rfs/msm/mpss $@/readwrite + $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared + $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos + $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware + $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware + +RFS_MSM_SLPI_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/slpi/ +$(RFS_MSM_SLPI_SYMLINKS): $(LOCAL_INSTALLED_MODULE) + @echo "Creating RFS MSM SLPI folder structure: $@" + @rm -rf $@/* + @mkdir -p $(dir $@)/readonly/vendor + $(hide) ln -sf /data/vendor/tombstones/rfs/slpi $@/ramdumps + $(hide) ln -sf /mnt/vendor/persist/rfs/msm/slpi $@/readwrite + $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared + $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos + $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware + $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware + +ALL_DEFAULT_INSTALLED_MODULES += $(RFS_MSM_ADSP_SYMLINKS) $(RFS_MSM_CDSP_SYMLINKS) $(RFS_MSM_MPSS_SYMLINKS) $(RFS_MSM_SLPI_SYMLINKS) + +endif diff --git a/BoardConfigCommon.mk b/BoardConfigCommon.mk new file mode 100644 index 0000000..3bec63c --- /dev/null +++ b/BoardConfigCommon.mk @@ -0,0 +1,113 @@ +BOARD_VENDOR := realme + +COMMON_PATH := device/realme/sdm710-common + +# Architecture +TARGET_ARCH := arm64 +TARGET_ARCH_VARIANT := armv8-a +TARGET_CPU_ABI := arm64-v8a +TARGET_CPU_ABI2 := +TARGET_CPU_VARIANT := kryo300 + +TARGET_2ND_ARCH := arm +TARGET_2ND_ARCH_VARIANT := armv8-a +TARGET_2ND_CPU_ABI := armeabi-v7a +TARGET_2ND_CPU_ABI2 := armeabi +TARGET_2ND_CPU_VARIANT := cortex-a75 + +TARGET_USES_64_BIT_BINDER := true + +# Bootloader +TARGET_BOOTLOADER_BOARD_NAME := sdm710 +TARGET_NO_BOOTLOADER := true + +# Kernel +BOARD_KERNEL_CMDLINE := console=ttyMSM0,115200n8 earlycon=msm_geni_serial,0xA90000 androidboot.hardware=qcom androidboot.console=ttyMSM0 video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 service_locator.enable=1 androidboot.configfs=true androidboot.usbcontroller=a600000.dwc3 swiotlb=1 firmware_class.path=/vendor/firmware_mnt/image loop.max_part=7 +BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive +BOARD_KERNEL_BASE := 0x00000000 +BOARD_KERNEL_PAGESIZE := 4096 +BOARD_KERNEL_TAGS_OFFSET := 0x00000100 +BOARD_RAMDISK_OFFSET := 0x01000000 +BOARD_KERNEL_IMAGE_NAME := Image.gz-dtb + +# Platform +TARGET_BOARD_PLATFORM_GPU := qcom-adreno616 + +# Audio +AUDIO_FEATURE_ENABLED_AAC_ADTS_OFFLOAD := true +AUDIO_FEATURE_ENABLED_EXTN_FORMATS := true +AUDIO_FEATURE_ENABLED_HDMI_SPK := true +AUDIO_FEATURE_ENABLED_PROXY_DEVICE := true +USE_CUSTOM_AUDIO_POLICY := 1 +USE_XML_AUDIO_POLICY_CONF := 1 + +# Bluetooth +BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(COMMON_PATH)/bluetooth + +# Camera +TARGET_USES_QTI_CAMERA_DEVICE := true + +# Charger Mode +BOARD_CHARGER_ENABLE_SUSPEND := true + +# Dex +ifeq ($(HOST_OS),linux) + ifneq ($(TARGET_BUILD_VARIANT),eng) + WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY ?= false + WITH_DEXPREOPT := true + endif +endif + +# DRM +TARGET_ENABLE_MEDIADRM_64 := true + +# Graphics +NUM_FRAMEBUFFER_SURFACE_BUFFERS := 2 +TARGET_ADDITIONAL_GRALLOC_10_USAGE_BITS := (1 << 21) | (1 << 27) +TARGET_USES_HWC2 := true +OVERRIDE_RS_DRIVER := libRSDriver_adreno.so + +# Lights +TARGET_PROVIDES_LIBLIGHT := true + +# Power +TARGET_TAP_TO_WAKE_NODE := "/proc/touchpanel/double_tap_enable" + +# Partitions +BOARD_BOOTIMAGE_PARTITION_SIZE := 67108864 +BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_CACHEIMAGE_PARTITION_SIZE := 268435456 +BOARD_SYSTEMIMAGE_PARTITION_SIZE := 5578424320 + +BOARD_FLASH_BLOCK_SIZE := 262144 + +BOARD_BUILD_SYSTEM_ROOT_IMAGE := true + +BOARD_ROOT_EXTRA_SYMLINKS := \ + /mnt/vendor/persist:/persist \ + /vendor/bt_firmware:/bt_firmware \ + /vendor/dsp:/dsp \ + /vendor/firmware_mnt:/firmware + +TARGET_USERIMAGES_USE_EXT4 := true +TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false +TARGET_USES_MKE2FS := true + +TARGET_COPY_OUT_VENDOR := vendor + +# Recovery +TARGET_RECOVERY_PIXEL_FORMAT := "BGRA_8888" +TARGET_RECOVERY_FSTAB := $(COMMON_PATH)/rootdir/etc/recovery.fstab + +# RIL +TARGET_PROVIDES_QTI_TELEPHONY_JAR := true +TARGET_RIL_VARIANT := caf + +# Sepolicy +BOARD_PLAT_PRIVATE_SEPOLICY_DIR += $(COMMON_PATH)/sepolicy/private +BOARD_PLAT_PRIVATE_SEPOLICY_DIR += device/qcom/sepolicy/private +BOARD_PLAT_PUBLIC_SEPOLICY_DIR += device/qcom/sepolicy/public + +# Treble +BOARD_VNDK_VERSION := current +PRODUCT_FULL_TREBLE_OVERRIDE := true diff --git a/bluetooth/bdroid_buildcfg.h b/bluetooth/bdroid_buildcfg.h new file mode 100644 index 0000000..c14932d --- /dev/null +++ b/bluetooth/bdroid_buildcfg.h @@ -0,0 +1,33 @@ +/* + * + * Copyright (c) 2013, The Linux Foundation. All rights reserved. + * Not a Contribution, Apache license notifications and license are retained + * for attribution purposes only. + * + * Copyright (C) 2012 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. + */ + +#ifndef _BDROID_BUILDCFG_H +#define _BDROID_BUILDCFG_H +// Disables read remote device feature +#define MAX_ACL_CONNECTIONS 16 +#define MAX_L2CAP_CHANNELS 16 +#define BLE_VND_INCLUDED TRUE +// skips conn update at conn completion +#define BT_CLEAN_TURN_ON_DISABLED 1 + +/* Increasing SEPs to 12 from 6 to support SHO/MCast i.e. two streams per codec */ +#define AVDT_NUM_SEPS 12 +#endif diff --git a/extract-files.sh b/extract-files.sh new file mode 100755 index 0000000..7fb9c1b --- /dev/null +++ b/extract-files.sh @@ -0,0 +1,62 @@ +#!/bin/bash +# +# Copyright (C) 2016 The CyanogenMod Project +# Copyright (C) 2017-2018 The LineageOS 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 + +DEVICE=sdm710-common +VENDOR=realme + +# Load extract_utils and do some sanity checks +MY_DIR="${BASH_SOURCE%/*}" +if [[ ! -d "$MY_DIR" ]]; then MY_DIR="$PWD"; fi + +LINEAGE_ROOT="$MY_DIR"/../../.. + +HELPER="$LINEAGE_ROOT"/vendor/lineage/build/tools/extract_utils.sh +if [ ! -f "$HELPER" ]; then + echo "Unable to find helper script at $HELPER" +fi +. "$HELPER" + +# Default to sanitizing the vendor folder before extraction +CLEAN_VENDOR=true + +while [ "$1" != "" ]; do + case $1 in + -n | --no-cleanup ) CLEAN_VENDOR=false + ;; + -s | --section ) shift + SECTION=$1 + CLEAN_VENDOR=false + ;; + * ) SRC=$1 + ;; + esac + shift +done + +if [ -z "$SRC" ]; then + SRC=adb +fi + +# Initialize the helper +setup_vendor "$DEVICE" "$VENDOR" "$LINEAGE_ROOT" false "$CLEAN_VENDOR" + +extract "$MY_DIR"/proprietary-files.txt "$SRC" "$SECTION" + +"$MY_DIR"/setup-makefiles.sh diff --git a/proprietary-files.txt b/proprietary-files.txt new file mode 100644 index 0000000..83dc223 --- /dev/null +++ b/proprietary-files.txt @@ -0,0 +1,71 @@ +# CNE +etc/permissions/cneapiclient.xml +etc/permissions/com.quicinc.cne.xml +framework/cneapiclient.jar +framework/com.quicinc.cne.api-V1.0-java.jar +framework/com.quicinc.cne.api-V1.1-java.jar +framework/com.quicinc.cne.constants-V1.0-java.jar +framework/com.quicinc.cne.constants-V2.0-java.jar +framework/com.quicinc.cne.constants-V2.1-java.jar +framework/com.quicinc.cne.jar +framework/com.quicinc.cne.server-V1.0-java.jar +framework/com.quicinc.cne.server-V2.0-java.jar +framework/com.quicinc.cne.server-V2.1-java.jar +framework/com.quicinc.cne.server-V2.2-java.jar +framework/vendor.qti.data.factory-V1.0-java.jar +framework/vendor.qti.hardware.data.qmi-V1.0-java.jar +-priv-app/CNEService/CNEService.apk + +# DPM +bin/dpmd +etc/dpm/dpm.conf +etc/init/dpmd.rc +etc/permissions/com.qti.dpmframework.xml +etc/permissions/dpmapi.xml +framework/com.qti.dpmframework.jar +framework/dpmapi.jar +framework/tcmclient.jar +lib64/libdiag_system.so +lib64/com.qualcomm.qti.dpm.api@1.0.so +lib64/libdpmctmgr.so +lib64/libdpmfdmgr.so +lib64/libdpmframework.so +lib64/libdpmtcm.so +-priv-app/dpmserviceapp/dpmserviceapp.apk + + # QMI +etc/permissions/qti_permissions.xml +etc/permissions/qti_libpermissions.xml + +# Radio +-app/datastatusnotification/datastatusnotification.apk +-app/embms/embms.apk +-app/QtiTelephonyService/QtiTelephonyService.apk +etc/permissions/embms.xml +etc/permissions/qcrilhook.xml +etc/permissions/telephonyservice.xml +framework/embmslibrary.jar +framework/qcrilhook.jar +framework/qti-telephony-common.jar +framework/QtiTelephonyServicelibrary.jar +-priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk + +# Radio - IMS +-priv-app/ims/ims.apk +-app/imssettings/imssettings.apk +etc/permissions/com.qualcomm.qti.imscmservice.xml +etc/permissions/com.qualcomm.qti.imscmservice-V2.0-java.xml +etc/permissions/com.qualcomm.qti.imscmservice-V2.1-java.xml +framework/com.qualcomm.qti.imscmservice-V2.0-java.jar +framework/com.qualcomm.qti.imscmservice-V2.1-java.jar +framework/com.qualcomm.qti.uceservice-V2.0-java.jar +framework/vendor.qti.ims.callinfo-V1.0-java.jar +framework/vendor.qti.ims.rcsconfig-V1.0-java.jar +lib64/lib-imsvideocodec.so +lib64/lib-imsvt.so +lib64/lib-imsvtextutils.so +lib64/lib-imsvtutils.so +lib64/libimscamera_jni.so +lib64/libimsmedia_jni.so +lib64/librcc.so +lib64/vendor.qti.imsrtpservice@1.0.so diff --git a/rootdir/Android.mk b/rootdir/Android.mk new file mode 100644 index 0000000..f97737d --- /dev/null +++ b/rootdir/Android.mk @@ -0,0 +1,9 @@ +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.target.rc +LOCAL_MODULE_TAGS := optional eng +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := etc/init.target.rc +LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/init +include $(BUILD_PREBUILT) diff --git a/rootdir/etc/init.target.rc b/rootdir/etc/init.target.rc new file mode 100644 index 0000000..ec3eeae --- /dev/null +++ b/rootdir/etc/init.target.rc @@ -0,0 +1,38 @@ +on boot + # Touchscreen + chown system system /proc/touchpanel/double_tap_enable + chown 0660 /proc/touchpanel/double_tap_enable + + # OTG + write /sys/class/power_supply/usb/otg_switch 1 + + # FP + chown system system /dev/goodix_fp + +service oppo_fingerprints_sh /vendor/bin/sh /vendor/bin/init.oppo.fingerprints.sh + class main + user root + oneshot + seclabel u:r:rutilsdaemon:s0 + +on post-fs-data + mkdir /data/gf_data 0700 system system + mkdir /data/system/gf_data 0700 system system + mkdir /data/images 0700 system system + mkdir /data/system/silead 0770 system system + mkdir /persist/silead 0770 system system + chown system system /sys/bus/platform/devices/fpc_interrupt/clk_enable + chown system system /sys/bus/platform/devices/fpc_interrupt/wakelock_enable + chown system system /sys/bus/platform/devices/fpc_interrupt/irq + chown system system /sys/bus/platform/devices/fpc_interrupt/irq_enable + chown system system /sys/bus/platform/devices/fpc_interrupt/irq_unexpected + chmod 0200 /sys/bus/platform/devices/fpc_interrupt/irq_enable + chmod 0200 /sys/bus/platform/devices/fpc_interrupt/clk_enable + chmod 0200 /sys/bus/platform/devices/fpc_interrupt/wakelock_enable + chmod 0600 /sys/bus/platform/devices/fpc_interrupt/irq + chmod 0660 /sys/bus/platform/devices/fpc_interrupt/irq_unexpected + mkdir /data/vendor/fingerprint 0770 system system + mkdir /mnt/vendor/persist/fingerprint 0770 system system + chown system system /sys/kernel/oppo_display/hbm + mkdir /data/vendor/silead 0770 system system + mkdir /mnt/vendor/persist/fingerprint/silead 0770 system system diff --git a/rootdir/etc/recovery.fstab b/rootdir/etc/recovery.fstab new file mode 100644 index 0000000..dd269ce --- /dev/null +++ b/rootdir/etc/recovery.fstab @@ -0,0 +1,14 @@ +# Android fstab file. +# The filesystem that contains the filesystem checker binary (typically /system) cannot +# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK + +#TODO: Add 'check' as fs_mgr_flags with data partition. +# Currently we dont have e2fsck compiled. So fs check would failed. + +# +/dev/block/bootdevice/by-name/system / ext4 ro,barrier=1 wait +/dev/block/bootdevice/by-name/vendor /vendor ext4 ro,barrier=1 wait +/dev/block/bootdevice/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered wait,check +/dev/block/bootdevice/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc wait,check,encryptable=footer +/dev/block/bootdevice/by-name/boot /boot emmc defaults defaults +/dev/block/bootdevice/by-name/recovery /recovery emmc defaults defaults diff --git a/sdm710.mk b/sdm710.mk new file mode 100644 index 0000000..1cc4279 --- /dev/null +++ b/sdm710.mk @@ -0,0 +1,57 @@ +# Inherit from those products. Most specific first. +$(call inherit-product, $(SRC_TARGET_DIR)/product/product_launched_with_p.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk) + +# Get non-open-source specific aspects +$(call inherit-product-if-exists, vendor/realme/sdm710-common/sdm710-common-vendor.mk) + +# Boot animation +TARGET_SCREEN_HEIGHT := 2244 +TARGET_SCREEN_WIDTH := 1080 + +# Device uses high-density artwork where available +PRODUCT_AAPT_CONFIG := normal +PRODUCT_AAPT_PREF_CONFIG := xxhdpi + +# Audio +PRODUCT_PACKAGES += \ + audio.a2dp.default \ + tinymix + +# Common init scripts +PRODUCT_PACKAGES += \ + init.target.rc + +# Display +PRODUCT_PACKAGES += \ + libvulkan \ + vendor.display.config@1.0 + +# IMS +PRODUCT_PACKAGES += \ + ims-ext-common + +# Net +PRODUCT_PACKAGES += \ + netutils-wrapper-1.0 + +# Seccomp policy +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/seccomp/mediacodec-seccomp.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \ + $(LOCAL_PATH)/seccomp/mediaextractor-seccomp.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaextractor.policy + +# Telephony +PRODUCT_PACKAGES += \ + telephony-ext + +PRODUCT_BOOT_JARS += \ + telephony-ext + +# TextClassifier +PRODUCT_PACKAGES += \ + textclassifier.bundle1 + +# VNDK-SP +PRODUCT_PACKAGES += \ + vndk-sp diff --git a/seccomp/mediacodec-seccomp.policy b/seccomp/mediacodec-seccomp.policy new file mode 100644 index 0000000..ff7d4d8 --- /dev/null +++ b/seccomp/mediacodec-seccomp.policy @@ -0,0 +1,19 @@ +# device specific syscalls +# extension of services/mediacodec/minijail/seccomp_policy/mediacodec-seccomp-arm.policy +pselect6: 1 +eventfd2: 1 +sendto: 1 +recvfrom: 1 +_llseek: 1 +sysinfo: 1 +getcwd: 1 +getdents64: 1 +ARM_cacheflush: 1 +inotify_init1: 1 +inotify_add_watch: 1 +inotify_rm_watch: 1 +uname: 1 +ueventd: 1 +timer_create: 1 +timer_settime: 1 +rt_sigtimedwait: 1 diff --git a/seccomp/mediaextractor-seccomp.policy b/seccomp/mediaextractor-seccomp.policy new file mode 100644 index 0000000..37201c8 --- /dev/null +++ b/seccomp/mediaextractor-seccomp.policy @@ -0,0 +1,4 @@ +# device specific syscalls. +# extension of services/mediaextractor/minijail/seccomp_policy/mediaextractor-seccomp-arm.policy +readlinkat: 1 +pread64: 1 diff --git a/sepolicy/private/file.te b/sepolicy/private/file.te new file mode 100644 index 0000000..d74de02 --- /dev/null +++ b/sepolicy/private/file.te @@ -0,0 +1,4 @@ +type adsprpcd_file, file_type; +type bt_firmware_file, file_type; +type firmware_file, file_type; +type persist_file, file_type; diff --git a/sepolicy/private/file_contexts b/sepolicy/private/file_contexts new file mode 100644 index 0000000..d8ede0c --- /dev/null +++ b/sepolicy/private/file_contexts @@ -0,0 +1,5 @@ +# Files in rootfs +/bt_firmware(/.*)? u:object_r:bt_firmware_file:s0 +/dsp(/.*)? u:object_r:adsprpcd_file:s0 +/firmware(/.*)? u:object_r:firmware_file:s0 +/persist(/.*)? u:object_r:persist_file:s0 diff --git a/setup-makefiles.sh b/setup-makefiles.sh new file mode 100755 index 0000000..399a051 --- /dev/null +++ b/setup-makefiles.sh @@ -0,0 +1,49 @@ +#!/bin/bash +# +# Copyright (C) 2016 The CyanogenMod Project +# Copyright (C) 2017-2018 The LineageOS 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 + +DEVICE=sdm710-common +VENDOR=realme + +INITIAL_COPYRIGHT_YEAR=2016 + +# Load extract_utils and do some sanity checks +MY_DIR="${BASH_SOURCE%/*}" +if [[ ! -d "$MY_DIR" ]]; then MY_DIR="$PWD"; fi + +LINEAGE_ROOT="$MY_DIR"/../../.. + +HELPER="$LINEAGE_ROOT"/vendor/lineage/build/tools/extract_utils.sh +if [ ! -f "$HELPER" ]; then + echo "Unable to find helper script at $HELPER" + exit 1 +fi +. "$HELPER" + +# Initialize the helper +setup_vendor "$DEVICE" "$VENDOR" "$LINEAGE_ROOT" + +# Copyright headers and guards +write_headers + +# The standard blobs +write_makefiles "$MY_DIR"/proprietary-files.txt true + +# We are done! +write_footers diff --git a/vndk/Android.mk b/vndk/Android.mk new file mode 100644 index 0000000..fd61bec --- /dev/null +++ b/vndk/Android.mk @@ -0,0 +1,49 @@ +ifeq ($(BOARD_VNDK_VERSION),) +$(warning ************* BOARD VNDK is not enabled - compiling vndk-sp ***************************) +LOCAL_PATH := $(call my-dir) + +include $(LOCAL_PATH)/vndk-sp-libs.mk + +vndk_sp_dir := vndk-sp-$(PLATFORM_VNDK_VERSION) + +define define-vndk-sp-lib +include $$(CLEAR_VARS) +LOCAL_MODULE := $1.vndk-sp-gen +LOCAL_MODULE_CLASS := SHARED_LIBRARIES +LOCAL_PREBUILT_MODULE_FILE := $$(TARGET_OUT_INTERMEDIATE_LIBRARIES)/$1.so +LOCAL_STRIP_MODULE := false +LOCAL_MULTILIB := first +LOCAL_MODULE_TAGS := optional +LOCAL_INSTALLED_MODULE_STEM := $1.so +LOCAL_MODULE_SUFFIX := .so +LOCAL_MODULE_RELATIVE_PATH := $(vndk_sp_dir) +include $$(BUILD_PREBUILT) + +ifneq ($$(TARGET_2ND_ARCH),) +ifneq ($$(TARGET_TRANSLATE_2ND_ARCH),true) +include $$(CLEAR_VARS) +LOCAL_MODULE := $1.vndk-sp-gen +LOCAL_MODULE_CLASS := SHARED_LIBRARIES +LOCAL_PREBUILT_MODULE_FILE := $$($$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATE_LIBRARIES)/$1.so +LOCAL_STRIP_MODULE := false +LOCAL_MULTILIB := 32 +LOCAL_MODULE_TAGS := optional +LOCAL_INSTALLED_MODULE_STEM := $1.so +LOCAL_MODULE_SUFFIX := .so +LOCAL_MODULE_RELATIVE_PATH := $(vndk_sp_dir) +include $$(BUILD_PREBUILT) +endif # TARGET_TRANSLATE_2ND_ARCH is not true +endif # TARGET_2ND_ARCH is not empty +endef + +$(foreach lib,$(VNDK_SP_LIBRARIES),\ + $(eval $(call define-vndk-sp-lib,$(lib)))) + +include $(CLEAR_VARS) +LOCAL_MODULE := vndk-sp +LOCAL_MODULE_TAGS := optional +LOCAL_REQUIRED_MODULES := $(addsuffix .vndk-sp-gen,$(VNDK_SP_LIBRARIES)) +include $(BUILD_PHONY_PACKAGE) + +vndk_sp_dir := +endif diff --git a/vndk/vndk-sp-libs.mk b/vndk/vndk-sp-libs.mk new file mode 100644 index 0000000..403413d --- /dev/null +++ b/vndk/vndk-sp-libs.mk @@ -0,0 +1,33 @@ +VNDK_SP_LIBRARIES := \ + android.hardware.graphics.allocator@2.0 \ + android.hardware.graphics.mapper@2.0 \ + android.hardware.graphics.mapper@2.1 \ + android.hardware.graphics.common@1.0 \ + android.hardware.graphics.common@1.1 \ + android.hardware.renderscript@1.0 \ + android.hidl.base@1.0 \ + android.hidl.memory@1.0 \ + libRSCpuRef \ + libRSDriver \ + libRS_internal \ + libbacktrace \ + libbase \ + libbcinfo \ + libblas \ + libc++ \ + libcompiler_rt \ + libcutils \ + libft2 \ + libhardware \ + libhidlbase \ + libhidlmemory \ + libhidltransport \ + libhwbinder \ + libion \ + liblzma \ + libpng \ + libunwind \ + libunwindstack \ + libutils \ + libutilscallstack \ + libdexfile