Add flags for each feature and these flags to use enable/disable features. Enable SMCINVOKE driver and disable other drivers on HGY platform. Change-Id: I5eca4771aaa3001ecc0d8c06060c951923aa0619 Signed-off-by: Santosh Dronamraju <quic_sdronamr@quicinc.com>
178 wiersze
6.5 KiB
Makefile
178 wiersze
6.5 KiB
Makefile
# Android makefile for securemsm kernel modules
|
|
|
|
ENABLE_SECUREMSM_DLKM := true
|
|
ENABLE_SECUREMSM_QTEE_DLKM := true
|
|
|
|
ifeq ($(TARGET_KERNEL_DLKM_DISABLE), true)
|
|
ifeq ($(TARGET_KERNEL_DLKM_SECURE_MSM_OVERRIDE),false)
|
|
ENABLE_SECUREMSM_DLKM := false
|
|
endif
|
|
ifeq ($(TARGET_KERNEL_DLKM_SECUREMSM_QTEE_OVERRIDE),false)
|
|
ENABLE_SECUREMSM_QTEE_DLKM := false
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(ENABLE_SECUREMSM_DLKM), true)
|
|
ENABLE_QCRYPTO_DLKM := true
|
|
ENABLE_HDCP_QSEECOM_DLKM := true
|
|
ENABLE_QRNG_DLKM := true
|
|
ifeq ($(TARGET_USES_SMMU_PROXY), true)
|
|
ENABLE_SMMU_PROXY := true
|
|
endif #TARGET_USES_SMMU_PROXY
|
|
endif #ENABLE_SECUREMSM_DLKM
|
|
|
|
ifeq ($(ENABLE_SECUREMSM_QTEE_DLKM), true)
|
|
ENABLE_SMCINVOKE_DLKM := true
|
|
ENABLE_TZLOG_DLKM := true
|
|
#Enable Qseecom if TARGET_ENABLE_QSEECOM or TARGET_BOARD_AUTO is set to true
|
|
ifneq (, $(filter true, $(TARGET_ENABLE_QSEECOM) $(TARGET_BOARD_AUTO)))
|
|
ENABLE_QSEECOM_DLKM := true
|
|
endif #TARGET_ENABLE_QSEECOM OR TARGET_BOARD_AUTO
|
|
endif #ENABLE_SECUREMSM_QTEE_DLKM
|
|
|
|
ifeq ($(TARGET_USES_GY), true)
|
|
ENABLE_QCRYPTO_DLKM := false
|
|
ENABLE_HDCP_QSEECOM_DLKM := false
|
|
ENABLE_QRNG_DLKM := false
|
|
ENABLE_SMMU_PROXY := false
|
|
ENABLE_SMCINVOKE_DLKM := true
|
|
ENABLE_TZLOG_DLKM := false
|
|
ENABLE_QSEECOM_DLKM := false
|
|
endif #TARGET_USES_GY
|
|
|
|
LOCAL_PATH := $(call my-dir)
|
|
DLKM_DIR := $(TOP)/device/qcom/common/dlkm
|
|
|
|
SEC_KERNEL_DIR := $(TOP)/vendor/qcom/opensource/securemsm-kernel
|
|
|
|
LOCAL_EXPORT_KO_INCLUDE_DIRS := $(LOCAL_PATH)/include/ \
|
|
$(LOCAL_PATH)/include/uapi
|
|
|
|
SSG_SRC_FILES := \
|
|
$(wildcard $(LOCAL_PATH)/*) \
|
|
$(wildcard $(LOCAL_PATH)/*/*) \
|
|
$(wildcard $(LOCAL_PATH)/*/*/*) \
|
|
$(wildcard $(LOCAL_PATH)/*/*/*/*)
|
|
LOCAL_MODULE_DDK_BUILD := true
|
|
# This is set once per LOCAL_PATH, not per (kernel) module
|
|
KBUILD_OPTIONS := SSG_ROOT=$(SEC_KERNEL_DIR)
|
|
KBUILD_OPTIONS += BOARD_PLATFORM=$(TARGET_BOARD_PLATFORM)
|
|
|
|
CONDITIONAL_FLAGS := $(ENABLE_SECUREMSM_QTEE_DLKM) $(ENABLE_SECUREMSM_DLKM)
|
|
|
|
ifneq (0, $(words $(filter true, $(CONDITIONAL_FLAGS))))
|
|
include $(CLEAR_VARS)
|
|
# For incremental compilation
|
|
LOCAL_SRC_FILES := $(SSG_SRC_FILES)
|
|
LOCAL_MODULE := sec-module-symvers
|
|
LOCAL_MODULE_STEM := Module.symvers
|
|
LOCAL_MODULE_KBUILD_NAME := Module.symvers
|
|
LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
|
|
include $(DLKM_DIR)/Build_external_kernelmodule.mk
|
|
endif
|
|
|
|
ifeq ($(ENABLE_SMCINVOKE_DLKM), true)
|
|
include $(CLEAR_VARS)
|
|
#LOCAL_SRC_FILES := $(SSG_SRC_FILES)
|
|
LOCAL_MODULE := smcinvoke_dlkm.ko
|
|
LOCAL_MODULE_KBUILD_NAME := smcinvoke_dlkm.ko
|
|
LOCAL_MODULE_TAGS := optional
|
|
LOCAL_MODULE_DEBUG_ENABLE := true
|
|
LOCAL_HEADER_LIBRARIES := smcinvoke_kernel_headers
|
|
LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
|
|
include $(DLKM_DIR)/Build_external_kernelmodule.mk
|
|
endif #ENABLE_SMCINVOKE_DLKM
|
|
###################################################
|
|
###################################################
|
|
ifeq ($(ENABLE_TZLOG_DLKM), true)
|
|
include $(CLEAR_VARS)
|
|
LOCAL_SRC_FILES := $(SSG_SRC_FILES)
|
|
LOCAL_MODULE := tz_log_dlkm.ko
|
|
LOCAL_MODULE_KBUILD_NAME := tz_log_dlkm.ko
|
|
LOCAL_MODULE_TAGS := optional
|
|
LOCAL_MODULE_DEBUG_ENABLE := true
|
|
LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
|
|
include $(DLKM_DIR)/Build_external_kernelmodule.mk
|
|
endif #ENABLE_TZLOG_DLKM
|
|
|
|
ifeq ($(ENABLE_QSEECOM_DLKM), true)
|
|
include $(CLEAR_VARS)
|
|
LOCAL_SRC_FILES := $(SSG_SRC_FILES)
|
|
LOCAL_MODULE := qseecom_dlkm.ko
|
|
LOCAL_MODULE_KBUILD_NAME := qseecom_dlkm.ko
|
|
LOCAL_MODULE_TAGS := optional
|
|
LOCAL_MODULE_DEBUG_ENABLE := true
|
|
LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
|
|
include $(DLKM_DIR)/Build_external_kernelmodule.mk
|
|
endif #ENABLE_QSEECOM_DLKM
|
|
###################################################
|
|
###################################################
|
|
|
|
ifeq ($(ENABLE_QCRYPTO_DLKM), true)
|
|
include $(CLEAR_VARS)
|
|
LOCAL_SRC_FILES := $(SSG_SRC_FILES)
|
|
LOCAL_MODULE := qce50_dlkm.ko
|
|
LOCAL_MODULE_KBUILD_NAME := qce50_dlkm.ko
|
|
LOCAL_MODULE_TAGS := optional
|
|
LOCAL_MODULE_DEBUG_ENABLE := true
|
|
LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
|
|
include $(DLKM_DIR)/Build_external_kernelmodule.mk
|
|
###################################################
|
|
###################################################
|
|
include $(CLEAR_VARS)
|
|
LOCAL_SRC_FILES := $(SSG_SRC_FILES)
|
|
LOCAL_MODULE := qcedev-mod_dlkm.ko
|
|
LOCAL_MODULE_KBUILD_NAME := qcedev-mod_dlkm.ko
|
|
LOCAL_MODULE_TAGS := optional
|
|
LOCAL_MODULE_DEBUG_ENABLE := true
|
|
LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
|
|
include $(DLKM_DIR)/Build_external_kernelmodule.mk
|
|
###################################################
|
|
###################################################
|
|
include $(CLEAR_VARS)
|
|
LOCAL_SRC_FILES := $(SSG_SRC_FILES)
|
|
LOCAL_MODULE := qcrypto-msm_dlkm.ko
|
|
LOCAL_MODULE_KBUILD_NAME := qcrypto-msm_dlkm.ko
|
|
LOCAL_MODULE_TAGS := optional
|
|
LOCAL_MODULE_DEBUG_ENABLE := true
|
|
LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
|
|
include $(DLKM_DIR)/Build_external_kernelmodule.mk
|
|
endif #ENABLE_QCRYPTO_DLKM
|
|
###################################################
|
|
###################################################
|
|
ifeq ($(ENABLE_HDCP_QSEECOM_DLKM), true)
|
|
include $(CLEAR_VARS)
|
|
LOCAL_SRC_FILES := $(SSG_SRC_FILES)
|
|
LOCAL_MODULE := hdcp_qseecom_dlkm.ko
|
|
LOCAL_MODULE_KBUILD_NAME := hdcp_qseecom_dlkm.ko
|
|
LOCAL_MODULE_TAGS := optional
|
|
LOCAL_MODULE_DEBUG_ENABLE := true
|
|
LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
|
|
include $(DLKM_DIR)/Build_external_kernelmodule.mk
|
|
endif #ENABLE_HDCP_QSEECOM_DLKM
|
|
###################################################
|
|
###################################################
|
|
ifeq ($(ENABLE_QRNG_DLKM), true)
|
|
include $(CLEAR_VARS)
|
|
LOCAL_SRC_FILES := $(SSG_SRC_FILES)
|
|
LOCAL_MODULE := qrng_dlkm.ko
|
|
LOCAL_MODULE_KBUILD_NAME := qrng_dlkm.ko
|
|
LOCAL_MODULE_TAGS := optional
|
|
LOCAL_MODULE_DEBUG_ENABLE := true
|
|
LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
|
|
include $(DLKM_DIR)/Build_external_kernelmodule.mk
|
|
endif #ENABLE_QRNG_DLKM
|
|
###################################################
|
|
###################################################
|
|
ifeq ($(ENABLE_SMMU_PROXY), true)
|
|
include $(CLEAR_VARS)
|
|
#LOCAL_SRC_FILES := $(SSG_SRC_FILES)
|
|
LOCAL_EXPORT_KO_INCLUDE_DIRS := $(LOCAL_PATH)/smmu-proxy/ $(LOCAL_PATH)/
|
|
LOCAL_MODULE := smmu_proxy_dlkm.ko
|
|
LOCAL_MODULE_KBUILD_NAME := smmu_proxy_dlkm.ko
|
|
LOCAL_MODULE_TAGS := optional
|
|
LOCAL_MODULE_DEBUG_ENABLE := true
|
|
LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
|
|
include $(DLKM_DIR)/Build_external_kernelmodule.mk
|
|
endif #ENABLE_SMMU_PROXY
|