menuconfig TZDEV tristate "Samsung TZ Based Secure OS Support" default n depends on ARM || ARM64 help Samsung TZ Based Secure OS interface driver. if TZDEV config TZDEV_TVM bool "TZDEV TVM" depends on TZDEV default n help Enable Trusted virtual machine support. config TZDEV_GUNYAH bool "TZDEV GUNYAH" depends on TZDEV_TVM default n config SAMSUNG_GKI_KERNEL bool "GKI mode definitions enabled" default n help Opens including for GKI Linux kernel. config TZDEV_SK_PFNS_64BIT bool "Secure kernel works with 64-bit PFNs" default n help Enables passing of PFNs into secure kernel as 64-bit values. Should correspond to similar config in SK. config TZDEV_USE_ARM_CALLING_CONVENTION bool "Comply to ARM calling convention" default y help Comply to ARM calling convention. New software architectures use EL3 code comply to this convention compared to old architectures when Secure kernel contains non-compatible commands handler. config TZDEV_IWI_EVENT int "IWI_EVENT interrupt number" default 280 if ARCH_MSM default 125 if ARCH_EXYNOS3 default 113 if ARCH_EXYNOS4 default 501 if ARCH_EXYNOS5 default 446 if ARCH_EXYNOS7 config TZDEV_IWI_PANIC int "IWI_PANIC interrupt number" default 0 if ARCH_MSM default 126 if ARCH_EXYNOS3 default 114 if ARCH_EXYNOS4 default 502 if ARCH_EXYNOS5 default 447 if ARCH_EXYNOS7 config TZDEV_SWD_PANIC_IS_CRITICAL bool "Panic NWd if secure world panics" default n help Enable support of NWd panic generation in tzdev when secure world panics. config TZLOG bool "TZDEV LOGGER support" default n help Enable support for Samsung Secure OS Logger. config TZDEV_SMC_CHANNEL_PERSISTENT_PAGES int "TZDEV SMC CHANNEL number of persistent pages in a smc channel" default 10 help Number of persistent pages in a smc channel. config TZDEV_IW_EVENTS_MAX_EVENTS int "TZDEV IW EVENTS maximum number of iw events" default 65535 help Maximum number of iw events that can be registered at one moment. config TZLOG_POLLING bool "TZDEV LOGGER polling" depends on TZLOG default n help Enable periodic logs polling by TZDEV. config TZLOG_POLLING_PERIOD int "TZDEV LOGGER polling period (in ms)" depends on TZLOG_POLLING default 100 help Define logs polling period in milliseconds. The resolution is 1/Hz ms rounded down (e.g. for Hz = 100, value 117 would mean 110 ms period). config TZLOG_PG_CNT int "TZDEV LOGGER per-CPU buffer size (in pages)" depends on TZLOG default 1 help Select TZDEV logger buffer size in pages per CPU. config TZDEV_SK_MULTICORE bool "TZDEV SK multicore" default n help Define if secure kernel can work in multicore mode. config TZDEV_OFFLOAD_CPU0 bool "Offload CPU0" depends on TZDEV_SK_MULTICORE default n help Offload CPU0 to minimize impact on NWd interrupts processing delays. This option needs the corresponding option (CONFIG_OFFLOAD_CPU0) in secure kernel configuration be enabled. config DMABUF_HEAP_FD2PHYS bool "Use DMABUF HEAP instead of ION for FD2PHYS" default n help Implement FD2PHYS kernel driver using new DMABUF HEAP library instead of old ION library, which is absent in Linux kernels with version >=5.10. config ION_FD2PHYS bool "ION FD to physical address converter" depends on ION && (ARCH_EXYNOS || ARCH_MSM || ARCH_WHALE || ARCH_MT6755 || ARCH_MT6735 || ARCH_RANCHU || MACH_MT6757 || MACH_MT6853 || MACH_MT6739 || MACH_MT6768) default y help Provide a method for userspace to get physical address from ION buffer descriptor. config ION_FD2PHYS_VARIANT int "ION FD2PHYS implementation variant" depends on ION_FD2PHYS default 0 help Select internal ionfd2phys implementation variant. config ION_FD2PHYS_USE_ION_FROM_STAGING bool "ION FD2PHYS use ion.h from staging" depends on ION_FD2PHYS default n help Select location from where ionfd2phys should include ion.h config TZIRS bool "Integrity reporting system" default n help Enable Integrity reporintg system for Samsung Secure OS. config TZTUI bool "Trusted user interface" default n help Enable Trusted user interface support for Samsung Secure OS. config TZDEV_HOTPLUG bool "Core hotplug" depends on HOTPLUG_CPU default n help Enable CPU Cores requested by Samsung Secure OS. config TZDEV_BOOST bool "TZ booster" depends on ARCH_EXYNOS default n help Switch high performance cluster to maximum frequency by NWd client request. config TZDEV_BOOST_CLUSTER int "Choose high performance cluster" depends on TZDEV_BOOST default 1 help Select which cluster is high performance cluster. config TZDEV_BOOST_CLUSTER_0 bool "Boost performance of cluster 0" depends on TZDEV_BOOST default n help Select to boost cluster 0. config TZDEV_BOOST_CLUSTER_1 bool "Boost performance of cluster 1" depends on TZDEV_BOOST default y help Select to boost cluster 1. config TZDEV_BOOST_CLUSTER_2 bool "Boost performance of cluster 2" depends on TZDEV_BOOST default n help Select to boost cluster 2. config TZ_BOOT_LOG bool "TZ boot stage log" default n help Provide ability to print TZ boot stage logs. config TZ_BOOT_LOG_PG_CNT int "TZ boot stage log buffer size (in pages)" depends on TZ_BOOT_LOG default 1 help Select TZ boot stage logger buffer size in pages. config TZDEV_QC_CRYPTO_CLOCKS_MANAGEMENT bool "TZDEV crypto clock management" default n help Enable QC HW crypto clock management. config TZDEV_QC_CRYPTO_CLOCKS_USR_MNG bool "User crypto clock management" depends on TZDEV_QC_CRYPTO_CLOCKS_MANAGEMENT default n help Enable QC HW crypto clock management from User space. If disabled, QC HW clock disable/enable is done in TZDEV. config TZDEV_DEBUG bool "Debug extensions" default n help Debug extensions for samsung TZ Based Secure OS interface driver. config TZ_SCMA bool "Secure contiguous memory allocator" default n help Allow to allocate contiguous memory for Secure OS purposes. config TZDEV_DEPLOY_TZAR bool "tzdev deploy startup.tzar" default n help Deploy startup.tzar when tzdev init. config TEEGRIS_VERSION int "TEEGRIS(SecureOS) version" default 2 help TEEGRIS built with specific version of SDK config TEEGRIS_VERSION_STRING string "TEEGRIS(SecureOS) TZDEV version" default "4.2.0" help TEEGRIS built with specific version of SDK config TZDEV_CPUFREQ_TRANSITION bool "CPU frequency transition to Secure OS" default y help Register notifier for CPU frequency transition to Secure OS if TZDEV_DEBUG config TZPROFILER bool "TZDEV PROFILING support" default n help Enable support for secure kernel and userspace profiling. config TZPROFILER_BUF_PG_CNT int "TZDEV PROFILER buffer size (in pages)" depends on TZPROFILER default 1 help Select TZDEV profiler buffer size in pages. Profiler uses pool of buffers. This is size of each buffer. Minimum size is a 1 page. Select the sufficient size for profiling of the target. config TZPROFILER_BUFS_CNT int "TZDEV PROFILER buffers quantity" depends on TZPROFILER default 20 help Select the sufficient pool size for profiling of the target. Profiler uses two mechanisms for profiler data transferring. 1. Circular buffer. 2. Buffer replacing if according to the point 1 NWd had no time for cleaning the previous buffer. The profiler stops working if there are no free buffers in pool. config TZ_PANIC_DUMP bool "TZ panic dump module" depends on TZDEV default n help Enable panic dump module. This module allocates the buffer that will receive SWd memory contents when secure kernel panic occurs (if proper option is set in secure kernel config) and provides interface for userspace to access said memory contents. config TZ_PMF bool "Performance Measurement Framework enables" depends on TZDEV default n help Enable Performance Measurement Framework in the tzdev. config TZDEV_TRACING bool "TZDEV tracing" depends on TZDEV default n help Enable trace events for tzdev. endif #TZDEV_DEBUG endif #TZDEV