| # SPDX-License-Identifier: GPL-2.0 | |
| # | |
| # Copyright (C) 2018 MediaTek Inc. | |
| # | |
| ifeq ($(CONFIG_MTK_GCOV_KERNEL),y) | |
| GCOV_PROFILE := y | |
| endif | |
| # Modules Feature Options | |
| include $(DEVICE_MODULES_PATH)/drivers/misc/mediatek/trusted_mem/Makefile.configs | |
| # Force strictly compiler check | |
| ccflags-y += -Werror | |
| #========================================================================== | |
| # Trusted Memory Subsystem Driver | |
| #========================================================================== | |
| # Ensure module is built only when option is enabled | |
| obj-$(CONFIG_MTK_TRUSTED_MEMORY_SUBSYSTEM) = trusted_mem.o | |
| trusted_mem-y += dev_mgr.o | |
| trusted_mem-y += entry.o | |
| trusted_mem-y += region_mgr.o | |
| trusted_mem-y += ssmr_mgr.o | |
| trusted_mem-y += peer_mgr.o | |
| trusted_mem-y += proc.o | |
| trusted_mem-y += ssheap_proc.o | |
| trusted_mem-y += alloc_api.o | |
| trusted_mem-y += ssmr/memory_ssmr.o | |
| trusted_mem-y += ssheap/ssheap_lib.o | |
| ifeq ($(TCORE_PROFILING_SUPPORT),y) | |
| trusted_mem-y += profiler.o | |
| ccflags-y += -DTCORE_PROFILING_SUPPORT | |
| ifeq ($(TCORE_PROFILING_AUTO_DUMP),y) | |
| ccflags-y += -DTCORE_PROFILING_AUTO_DUMP | |
| endif # !TCORE_PROFILING_AUTO_DUMP | |
| endif # !TCORE_PROFILING_SUPPORT | |
| ifeq ($(TCORE_MEMORY_LEAK_DETECTION_SUPPORT),y) | |
| trusted_mem-y += mld_helper.o | |
| ccflags-y += -DTCORE_MEMORY_LEAK_DETECTION_SUPPORT | |
| endif # !TCORE_KERN_MEMORY_LEAK_DETECTION_SUPPORT | |
| ifeq ($(CONFIG_TEST_MTK_TRUSTED_MEMORY),m) | |
| trusted_mem-y += tests/ut_common.o | |
| trusted_mem-y += tests/ut_server.o | |
| trusted_mem-y += tests/ut_cases.o | |
| trusted_mem-y += tests/ut_ssheap.o | |
| endif # !CONFIG_TEST_MTK_TRUSTED_MEMORY | |
| ifneq ($(filter y m,$(CONFIG_MTK_TRUSTED_MEMORY_SUBSYSTEM)),) | |
| #========================================================================== | |
| # TEE Seecure Memory Devices & Trustzone Peer Driver | |
| #========================================================================== | |
| ifneq ($(filter y m,$(CONFIG_MTK_SECURE_MEM_SUPPORT)\ | |
| $(CONFIG_MTK_WFD_SMEM_SUPPORT)\ | |
| $(CONFIG_MTK_SDSP_SHARED_PERM_VPU_TEE)),) | |
| trusted_mem-y += tee_devices.o | |
| ccflags-y += -DTEE_DEVICES_SUPPORT | |
| trusted_mem-y += tee_impl/tee_invoke.o | |
| ifneq ($(filter y m,$(CONFIG_MICROTRUST_TEE_SUPPORT)\ | |
| $(CONFIG_TRUSTONIC_TEE_SUPPORT)),) | |
| trusted_mem-y += tee_impl/tee_ops.o | |
| endif | |
| endif | |
| #========================================================================== | |
| # MTEE Multiple Chunk Devices & Geniezone Peer Driver | |
| #========================================================================== | |
| ifneq ($(filter y m,$(CONFIG_MTK_PROT_MEM_SUPPORT)\ | |
| $(CONFIG_MTK_MTEE_MULTI_CHUNK_SUPPORT)\ | |
| $(CONFIG_MTK_SECURE_MEM_SUPPORT)),) | |
| trusted_mem-y += mtee_devices.o | |
| ccflags-y += -DMTEE_DEVICES_SUPPORT | |
| endif | |
| ifneq ($(filter y m,$(CONFIG_MTK_GZ_KREE)),) | |
| trusted_mem-y += mtee_impl/mtee_ops.o | |
| trusted_mem-y += mtee_impl/mtee_invoke.o | |
| trusted_mem-y += mtee_impl/tmem_carveout_heap.o | |
| endif | |
| endif # !CONFIG_MTK_TRUSTED_MEMORY_SUBSYSTEM | |
| #========================================================================== | |
| # Trusted Memory Subsystem Common Headers | |
| #========================================================================== | |
| ccflags-y += -I$(DEVICE_MODULES_PATH)/drivers/misc/mediatek/trusted_mem/ | |
| ccflags-y += -I$(DEVICE_MODULES_PATH)/drivers/misc/mediatek/trusted_mem/public/ | |
| ccflags-y += -I$(DEVICE_MODULES_PATH)/drivers/misc/mediatek/trusted_mem/ssmr | |
| ccflags-y += -I$(DEVICE_MODULES_PATH)/drivers/misc/mediatek/trusted_mem/ssheap | |
| ccflags-y += -I$(DEVICE_MODULES_PATH)/drivers/misc/mediatek/include/ | |
| #========================================================================== | |
| # Other Modules Include Header Paths | |
| #========================================================================== | |
| ifneq ($(filter y m,$(CONFIG_MTK_GZ_KREE)),) | |
| ccflags-y += -I$(DEVICE_MODULES_PATH)/drivers/misc/mediatek/geniezone/public | |
| ccflags-y += -I$(DEVICE_MODULES_PATH)/drivers/misc/mediatek/include/mt-plat/gz/ | |
| endif # !CONFIG_MTK_GZ_KREE | |
| ifneq ($(filter y m,$(CONFIG_TRUSTONIC_TEE_SUPPORT)),) | |
| ccflags-y += -I$(DEVICE_MODULES_PATH)/drivers/tee/gud/$(CONFIG_TRUSTONIC_TEE_VERSION)/MobiCoreDriver/public | |
| ccflags-y += -I$(DEVICE_MODULES_PATH)/drivers/tee/gud/$(CONFIG_TRUSTONIC_TEE_VERSION)/MobiCoreDriver/public/GP | |
| endif # !CONFIG_TRUSTONIC_TEE_SUPPORT | |
| ifneq ($(filter y m,$(CONFIG_MICROTRUST_TEE_SUPPORT)),) | |
| ccflags-y += -I$(DEVICE_MODULES_PATH)/drivers/tee/teei/$(CONFIG_MICROTRUST_TEE_VERSION)/common/include | |
| endif # !CONFIG_MICROTRUST_TEE_SUPPORT | |
| ifneq ($(filter y m,$(CONFIG_BLOWFISH_TEE_SUPPORT)),) | |
| ccflags-y += -I$(DEVICE_MODULES_PATH)/drivers/misc/tzdev | |
| endif # !CONFIG_BLOWFISH_TEE_SUPPORT | |
| ifeq ($(CONFIG_DEVICE_MODULES_TEE),y) | |
| include $(DEVICE_MODULES_PATH)/drivers/misc/mediatek/tee_gp/Makefile.include | |
| endif # !CONFIG_DEVICE_MODULES_TEE |