Browse Source

Securemsm-kernel: Enable qseecom for khaje

1. Add qseecom_dlkm.ko based on Khaje and AUTO arch type
2. Restructure conf file into multiple conf files
   to enable feature based conf file.

Change-Id: I8bc0472667aebc35e8d1afa37eaca5c3353fd191
Signed-off-by: Jayasri Bhattacharyya <[email protected]>
Jayasri Bhattacharyya 2 years ago
parent
commit
ccc44aff77

+ 3 - 5
Android.mk

@@ -37,8 +37,6 @@ LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
 include $(DLKM_DIR)/Build_external_kernelmodule.mk
 ###################################################
 ###################################################
-ifneq ($(TARGET_BOARD_AUTO),true)
-#$(error $(SSG_SRC_FILES))
 include $(CLEAR_VARS)
 #LOCAL_SRC_FILES           := $(SSG_SRC_FILES)
 LOCAL_MODULE              := smcinvoke_dlkm.ko
@@ -48,7 +46,6 @@ 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 #TARGET_BOARD_AUTO
 ###################################################
 ###################################################
 include $(CLEAR_VARS)
@@ -111,7 +108,7 @@ LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
 include $(DLKM_DIR)/Build_external_kernelmodule.mk
 ###################################################
 ###################################################
-ifeq ($(TARGET_BOARD_AUTO),true)
+ifneq (, $(filter true, $(TARGET_ENABLE_QSEECOM) $(TARGET_BOARD_AUTO)))
 include $(CLEAR_VARS)
 LOCAL_SRC_FILES           := $(SSG_SRC_FILES)
 LOCAL_MODULE              := qseecom_dlkm.ko
@@ -120,6 +117,7 @@ LOCAL_MODULE_TAGS         := optional
 LOCAL_MODULE_DEBUG_ENABLE := true
 LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
 include $(DLKM_DIR)/Build_external_kernelmodule.mk
-endif #TARGET_BOARD_AUTO
+endif #TARGET_ENABLE_QSEECOM OR TARGET_BOARD_AUTO
+###################################################
 ###################################################
 endif #COMPILE_SECUREMSM_DLKM check

+ 18 - 12
Kbuild

@@ -1,19 +1,25 @@
 LINUXINCLUDE += -I$(SSG_MODULE_ROOT)/ \
-                -I$(SSG_MODULE_ROOT)/linux/ \
-                -include $(SSG_MODULE_ROOT)/config/sec-kernel_defconfig.h
-ifeq ($(CONFIG_ARCH_SA8155),y)
-include $(SSG_MODULE_ROOT)/config/sec-kernel_auto_defconfig.conf
-obj-$(CONFIG_QSEECOM) += qseecom_dlkm.o
-qseecom_dlkm-objs := qseecom/qseecom.o
-else
-ifeq ($(CONFIG_ARCH_QTI_VM), y)
-include $(SSG_MODULE_ROOT)/config/sec-kernel_defconfig_tvm.conf
-else
-include $(SSG_MODULE_ROOT)/config/sec-kernel_defconfig.conf
+                -I$(SSG_MODULE_ROOT)/linux/ 
+
+ifneq ($(CONFIG_ARCH_QTI_VM), y)
+    LINUXINCLUDE += -include $(SSG_MODULE_ROOT)/config/sec-kernel_defconfig.h
+    include $(SSG_MODULE_ROOT)/config/sec-kernel_defconfig.conf
+endif
+
+#Enable Qseecom if CONFIG_ARCH_KHAJE OR CONFIG_ARCH_KHAJE is set to y
+ifneq (, $(filter y, $(CONFIG_ARCH_KHAJE) $(CONFIG_ARCH_SA8155)))
+    include $(SSG_MODULE_ROOT)/config/sec-kernel_defconfig_qseecom.conf
+    LINUXINCLUDE += -include $(SSG_MODULE_ROOT)/config/sec-kernel_defconfig_qseecom.h
+
+    obj-$(CONFIG_QSEECOM) += qseecom_dlkm.o
+    qseecom_dlkm-objs := qseecom/qseecom.o
 endif
+
+include $(SSG_MODULE_ROOT)/config/sec-kernel_defconfig_smcinvoke.conf
+LINUXINCLUDE += -include $(SSG_MODULE_ROOT)/config/sec-kernel_defconfig_smcinvoke.h
+
 obj-$(CONFIG_QCOM_SMCINVOKE) += smcinvoke_dlkm.o
 smcinvoke_dlkm-objs := smcinvoke/smcinvoke_kernel.o smcinvoke/smcinvoke.o
-endif
 
 obj-$(CONFIG_QTI_TZ_LOG) += tz_log_dlkm.o
 tz_log_dlkm-objs := tz_log/tz_log.o

+ 0 - 6
config/sec-kernel_auto_defconfig.conf

@@ -1,6 +0,0 @@
-export CONFIG_QTI_TZ_LOG=m
-export CONFIG_CRYPTO_DEV_QCEDEV=m
-export CONFIG_CRYPTO_DEV_QCRYPTO=m
-export CONFIG_HDCP_QSEECOM=m
-export CONFIG_HW_RANDOM_MSM_LEGACY=m
-export CONFIG_QSEECOM=m

+ 0 - 1
config/sec-kernel_defconfig.conf

@@ -1,4 +1,3 @@
-export CONFIG_QCOM_SMCINVOKE=m
 export CONFIG_QTI_TZ_LOG=m
 export CONFIG_CRYPTO_DEV_QCEDEV=m
 export CONFIG_CRYPTO_DEV_QCRYPTO=m

+ 0 - 1
config/sec-kernel_defconfig.h

@@ -3,7 +3,6 @@
  * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved..
  */
 
-#define  CONFIG_QCOM_SMCINVOKE 1
 #define  CONFIG_QTI_TZ_LOG 1
 #define  CONFIG_CRYPTO_DEV_QCEDEV 1
 #define  CONFIG_CRYPTO_DEV_QCRYPTO 1

+ 1 - 0
config/sec-kernel_defconfig_qseecom.conf

@@ -0,0 +1 @@
+export CONFIG_QSEECOM=m

+ 6 - 0
config/sec-kernel_defconfig_qseecom.h

@@ -0,0 +1,6 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved..
+ */
+
+#define  CONFIG_QSEECOM 1

+ 1 - 0
config/sec-kernel_defconfig_smcinvoke.conf

@@ -0,0 +1 @@
+export CONFIG_QCOM_SMCINVOKE=m

+ 6 - 0
config/sec-kernel_defconfig_smcinvoke.h

@@ -0,0 +1,6 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved..
+ */
+
+#define  CONFIG_QCOM_SMCINVOKE 1

+ 0 - 6
config/sec-kernel_defconfig_tvm.conf

@@ -1,6 +0,0 @@
-export CONFIG_QCOM_SMCINVOKE=m
-export CONFIG_QTI_TZ_LOG=n
-export CONFIG_CRYPTO_DEV_QCEDEV=n
-export CONFIG_CRYPTO_DEV_QCRYPTO=n
-export CONFIG_HDCP_QSEECOM=n
-export CONFIG_HW_RANDOM_MSM_LEGACY=n

+ 1 - 1
linux/misc/qseecom_kernel.h

@@ -33,7 +33,7 @@ int qseecom_send_command(struct qseecom_handle *handle, void *send_buf,
 			uint32_t sbuf_len, void *resp_buf, uint32_t rbuf_len);
 
 int qseecom_set_bandwidth(struct qseecom_handle *handle, bool high);
-#if IS_ENABLED(CONFIG_QSEECOM) || IS_ENABLED(CONFIG_ARCH_SA8155)
+#if IS_ENABLED(CONFIG_QSEECOM)
 int qseecom_process_listener_from_smcinvoke(uint32_t *result,
 					u64 *response_type, unsigned int *data);
 #else

+ 5 - 5
securemsm_kernel_product_board.mk

@@ -9,18 +9,18 @@ ENABLE_SECUREMSM_DLKM := true
 endif
 
 ifeq ($(ENABLE_SECUREMSM_DLKM), true)
-PRODUCT_PACKAGES += smcinvoke_dlkm.ko
 PRODUCT_PACKAGES += tz_log_dlkm.ko
 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
-ifeq ($(TARGET_BOARD_AUTO),true)
-PRODUCT_PACKAGES += qseecom_dlkm.ko
-else
 PRODUCT_PACKAGES += smcinvoke_dlkm.ko
-endif #TARGET_BOARD_AUTO
+
+#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_DLKM
 

+ 7 - 6
securemsm_kernel_vendor_board.mk

@@ -20,13 +20,14 @@ BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/tz_log_dlkm.ko \
 BOARD_VENDOR_RAMDISK_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/tz_log_dlkm.ko \
       $(KERNEL_MODULES_OUT)/hdcp_qseecom_dlkm.ko \
 
-ifeq ($(TARGET_BOARD_AUTO),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
-else
 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 Qseecom if TARGET_ENABLE_QSEECOM or TARGET_BOARD_AUTO is set to true
+ifneq (, $(filter true, $(TARGET_ENABLE_QSEECOM) $(TARGET_BOARD_AUTO)))
+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 #TARGET_ENABLE_QSEECOM OR TARGET_BOARD_AUTO
 endif #ENABLE_SECUREMSM_DLKM