소스 검색

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 <[email protected]>
Santosh Dronamraju 1 년 전
부모
커밋
320d8fa045
3개의 변경된 파일136개의 추가작업 그리고 34개의 파일을 삭제
  1. 42 8
      Android.mk
  2. 45 10
      securemsm_kernel_product_board.mk
  3. 49 16
      securemsm_kernel_vendor_board.mk

+ 42 - 8
Android.mk

@@ -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

+ 45 - 10
securemsm_kernel_product_board.mk

@@ -13,24 +13,59 @@ ifeq ($(TARGET_KERNEL_DLKM_DISABLE), true)
 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
+
+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 ($(TARGET_USES_SMMU_PROXY), true)
+ifeq ($(ENABLE_SMMU_PROXY), true)
 PRODUCT_PACKAGES += smmu_proxy_dlkm.ko
-endif
-endif #ENABLE_SECUREMSM_DLKM
+endif #ENABLE_SMMU_PROXY
 
-ifeq ($(ENABLE_SECUREMSM_QTEE_DLKM), true)
+ifeq ($(ENABLE_SMCINVOKE_DLKM), true)
 PRODUCT_PACKAGES += smcinvoke_dlkm.ko
-PRODUCT_PACKAGES += tz_log_dlkm.ko
-#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
-endif #TARGET_ENABLE_QSEECOM OR TARGET_BOARD_AUTO
-endif #ENABLE_SECUREMSM_QTEE_DLKM
+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

+ 49 - 16
securemsm_kernel_vendor_board.mk

@@ -11,32 +11,65 @@ ifeq ($(TARGET_KERNEL_DLKM_DISABLE), true)
 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
+
+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 \
-      $(KERNEL_MODULES_OUT)/hdcp_qseecom_dlkm.ko \
-      $(KERNEL_MODULES_OUT)/qrng_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 ($(TARGET_USES_SMMU_PROXY), true)
+ifeq ($(ENABLE_SMMU_PROXY), true)
 BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/smmu_proxy_dlkm.ko
-endif
-
-ifeq ($(ENABLE_SECUREMSM_QTEE_DLKM), true)
-
-BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/smcinvoke_dlkm.ko \
-			       $(KERNEL_MODULES_OUT)/tz_log_dlkm.ko \
-
-BOARD_VENDOR_RAMDISK_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/tz_log_dlkm.ko \
-                                       $(KERNEL_MODULES_OUT)/smcinvoke_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