| menuconfig TZDEV |
| bool "Samsung TZ Based Secure OS Support" |
| default n |
| depends on ARM || ARM64 |
| help |
| Samsung TZ Based Secure OS interface driver. |
| |
| if TZDEV |
| 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_CMA |
| bool "Allocate TrustZone environment CMA region" |
| depends on (CMA || DMA_CMA) && !ARCH_MSM |
| default n |
| help |
| Use CMA region to allocate TrustZone environment memory. |
| |
| config TZDEV_MEMRESSZ |
| hex "TrustZone environment memory reservation size" |
| depends on TZDEV_CMA |
| default 0x01000000 |
| help |
| Provide reservation of memory for usage in secure world - allocation size. |
| |
| config TZDEV_MEMRESSZPROT |
| hex "TrustZone environment memory reservation size - protected" |
| depends on TZDEV_CMA |
| help |
| Provide reservation of memory for usage in secure world - bootloader-protected size. |
| |
| config TZDEV_MEMRESADDR |
| hex "TrustZone environment memory reservation address" |
| depends on TZDEV_CMA |
| help |
| Provide reservation of memory for usage in secure world - allocation address. |
| |
| 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 TZDEV_NWD_PANIC_ON_CLOSE |
| bool "Panic NWd if tzdev is closed" |
| default n |
| help |
| Panic system on crash/close of NWd components. |
| |
| config TZLOG |
| bool "TZDEV LOGGER support" |
| default n |
| help |
| Enable support for Samsung Secure OS Logger. |
| |
| 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 ION_FD2PHYS |
| tristate "ION FD to physical address converter" |
| depends on ION && (ARCH_EXYNOS || ARCH_MSM || ARCH_WHALE || ARCH_MT6755 || ARCH_MT6735 || ARCH_RANCHU || MACH_MT6757) |
| default y |
| help |
| Provide a method for userspace to get physical address from ION buffer |
| descriptor. |
| |
| 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_PAGE_MIGRATION |
| bool "Page migration" |
| depends on MIGRATION && CMA |
| default n |
| help |
| Enable Page migration functionality for CMA Migration. |
| |
| config TZ_TRANSPORT |
| bool "Transport module" |
| depends on TZDEV |
| default n |
| help |
| Enable Transport module. It is used for transfering data from SK to NWd. |
| |
| config TZ_TRANSPORT_PG_CNT |
| int "TZDEV transport module per-CPU buffer size (in pages)" |
| depends on TZ_TRANSPORT |
| default 1 |
| help |
| Select TZDEV transport buffer size in pages per CPU. |
| |
| 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 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 TZ_SHMEM_VALIDATOR |
| bool "TZ shared memory registration requests validator" |
| default n |
| help |
| Enable additional tz device, that helps tzdev to validate shared |
| memory registration requests. |
| |
| config TZDEV_EARLY_SWD_INIT |
| bool "TZDEV early SWD initialization" |
| default n |
| help |
| Provide ability of early SWD initialization (on modules init stage). |
| |
| config TZ_WORMHOLE |
| bool "enable/disable sockets-like IPC and fd tunneling" |
| default n |
| help |
| Provide hand-made sockets-like IPC and fd tunneling between client and daemon |
| to satisfy Android O Treble requirements. |
| |
| if TZDEV_DEBUG |
| |
| config TZ_TELEMETRY |
| bool "Telemetry module" |
| select TZ_TRANSPORT |
| default n |
| help |
| Enable Telemetry module. It is used for collecting runtime information |
| about Secure OS state. |
| |
| 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. |
| |
| endif #TZDEV_DEBUG |
| |
| endif #TZDEV |