securemsm-kernel: Enable SMCINVOKE driver for HGY

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>
This commit is contained in:
Santosh Dronamraju
2023-10-20 14:09:08 +05:30
parent 77752c91fd
commit 320d8fa045
3 changed files with 143 additions and 41 deletions

View File

@@ -12,6 +12,34 @@ ifeq ($(TARGET_KERNEL_DLKM_DISABLE), true)
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
@@ -43,7 +71,7 @@ LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
include $(DLKM_DIR)/Build_external_kernelmodule.mk
endif
ifeq ($(ENABLE_SECUREMSM_QTEE_DLKM), true)
ifeq ($(ENABLE_SMCINVOKE_DLKM), true)
include $(CLEAR_VARS)
#LOCAL_SRC_FILES := $(SSG_SRC_FILES)
LOCAL_MODULE := smcinvoke_dlkm.ko
@@ -53,8 +81,10 @@ 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
@@ -63,7 +93,9 @@ 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
@@ -72,11 +104,11 @@ LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_DEBUG_ENABLE := true
LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
include $(DLKM_DIR)/Build_external_kernelmodule.mk
endif #ENABLE_SECUREMSM_QTEE_DLKM
endif #ENABLE_QSEECOM_DLKM
###################################################
###################################################
ifeq ($(ENABLE_SECUREMSM_DLKM), true)
ifeq ($(ENABLE_QCRYPTO_DLKM), true)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(SSG_SRC_FILES)
LOCAL_MODULE := qce50_dlkm.ko
@@ -105,8 +137,10 @@ 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
@@ -115,8 +149,10 @@ 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
@@ -125,9 +161,10 @@ 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 ($(TARGET_USES_SMMU_PROXY), true)
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)/
@@ -137,7 +174,4 @@ LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_DEBUG_ENABLE := true
LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
include $(DLKM_DIR)/Build_external_kernelmodule.mk
endif
###################################################
###################################################
endif #COMPILE_SECUREMSM_DLKM check
endif #ENABLE_SMMU_PROXY

View File

@@ -13,24 +13,59 @@ ifeq ($(TARGET_KERNEL_DLKM_DISABLE), true)
endif
ifeq ($(ENABLE_SECUREMSM_DLKM), true)
PRODUCT_PACKAGES += qcedev-mod_dlkm.ko
PRODUCT_PACKAGES += qce50_dlkm.ko
PRODUCT_PACKAGES += qcrypto-msm_dlkm.ko
PRODUCT_PACKAGES += hdcp_qseecom_dlkm.ko
PRODUCT_PACKAGES += qrng_dlkm.ko
ENABLE_QCRYPTO_DLKM := true
ENABLE_HDCP_QSEECOM_DLKM := true
ENABLE_QRNG_DLKM := true
ifeq ($(TARGET_USES_SMMU_PROXY), true)
PRODUCT_PACKAGES += smmu_proxy_dlkm.ko
endif
ENABLE_SMMU_PROXY := true
endif #TARGET_USES_SMMU_PROXY
endif #ENABLE_SECUREMSM_DLKM
ifeq ($(ENABLE_SECUREMSM_QTEE_DLKM), true)
PRODUCT_PACKAGES += smcinvoke_dlkm.ko
PRODUCT_PACKAGES += tz_log_dlkm.ko
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)))
PRODUCT_PACKAGES += qseecom_dlkm.ko
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
ifeq ($(ENABLE_QCRYPTO_DLKM), true)
PRODUCT_PACKAGES += qcedev-mod_dlkm.ko
PRODUCT_PACKAGES += qce50_dlkm.ko
PRODUCT_PACKAGES += qcrypto-msm_dlkm.ko
endif #ENABLE_QCRYPTO_DLKM
ifeq ($(ENABLE_HDCP_QSEECOM_DLKM), true)
PRODUCT_PACKAGES += hdcp_qseecom_dlkm.ko
endif #ENABLE_HDCP_QSEECOM_DLKM
ifeq ($(ENABLE_QRNG_DLKM), true)
PRODUCT_PACKAGES += qrng_dlkm.ko
endif #ENABLE_QRNG_DLKM
ifeq ($(ENABLE_SMMU_PROXY), true)
PRODUCT_PACKAGES += smmu_proxy_dlkm.ko
endif #ENABLE_SMMU_PROXY
ifeq ($(ENABLE_SMCINVOKE_DLKM), true)
PRODUCT_PACKAGES += smcinvoke_dlkm.ko
endif #ENABLE_SMCINVOKE_DLKM
ifeq ($(ENABLE_TZLOG_DLKM), true)
PRODUCT_PACKAGES += tz_log_dlkm.ko
endif #ENABLE_TZLOG_DLKM
ifeq ($(ENABLE_QSEECOM_DLKM), true)
PRODUCT_PACKAGES += qseecom_dlkm.ko
endif #ENABLE_QSEECOM_DLKM

View File

@@ -11,32 +11,65 @@ ifeq ($(TARGET_KERNEL_DLKM_DISABLE), true)
endif
ifeq ($(ENABLE_SECUREMSM_DLKM), true)
BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/qcedev-mod_dlkm.ko \
$(KERNEL_MODULES_OUT)/qcrypto-msm_dlkm.ko \
$(KERNEL_MODULES_OUT)/qce50_dlkm.ko \
$(KERNEL_MODULES_OUT)/hdcp_qseecom_dlkm.ko \
$(KERNEL_MODULES_OUT)/qrng_dlkm.ko \
BOARD_VENDOR_RAMDISK_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/hdcp_qseecom_dlkm.ko
ENABLE_QCRYPTO_DLKM := true
ENABLE_HDCP_QSEECOM_DLKM := true
ENABLE_QRNG_DLKM := true
ifeq ($(TARGET_USES_SMMU_PROXY), true)
BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/smmu_proxy_dlkm.ko
endif
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
BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/smcinvoke_dlkm.ko \
$(KERNEL_MODULES_OUT)/tz_log_dlkm.ko \
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
BOARD_VENDOR_RAMDISK_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/tz_log_dlkm.ko \
$(KERNEL_MODULES_OUT)/smcinvoke_dlkm.ko \
ifeq ($(ENABLE_QCRYPTO_DLKM), true)
BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/qcedev-mod_dlkm.ko \
$(KERNEL_MODULES_OUT)/qcrypto-msm_dlkm.ko \
$(KERNEL_MODULES_OUT)/qce50_dlkm.ko
endif #ENABLE_QCRYPTO_DLKM
ifeq ($(ENABLE_QRNG_DLKM), true)
BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/qrng_dlkm.ko
endif #ENABLE_QRNG_DLKM
ifeq ($(ENABLE_HDCP_QSEECOM_DLKM), true)
BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/hdcp_qseecom_dlkm.ko
BOARD_VENDOR_RAMDISK_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/hdcp_qseecom_dlkm.ko
endif #ENABLE_HDCP_QSEECOM_DLKM
ifeq ($(ENABLE_SMMU_PROXY), true)
BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/smmu_proxy_dlkm.ko
endif #ENABLE_SMMU_PROXY
ifeq ($(ENABLE_SMCINVOKE_DLKM), true)
BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/smcinvoke_dlkm.ko
BOARD_VENDOR_RAMDISK_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/smcinvoke_dlkm.ko
BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD += $(KERNEL_MODULES_OUT)/smcinvoke_dlkm.ko
endif #ENABLE_SMCINVOKE_DLKM
ifeq ($(ENABLE_TZLOG_DLKM), true)
BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/tz_log_dlkm.ko
BOARD_VENDOR_RAMDISK_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/tz_log_dlkm.ko
endif # ENABLE_TZLOG_DLKM
ifeq ($(ENABLE_QSEECOM_DLKM), true)
BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/qseecom_dlkm.ko
BOARD_VENDOR_RAMDISK_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/qseecom_dlkm.ko
BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD += $(KERNEL_MODULES_OUT)/qseecom_dlkm.ko
endif #ENABLE_SECUREMSM_QTEE_DLKM
endif #ENABLE_SECUREMSM_DLKM
endif #ENABLE_QSEECOM_DLKM