kernel_samsung_a34x-permissive/drivers/tee/tzdev/5.0.0/Kconfig
2024-04-28 15:49:01 +02:00

303 lines
7.5 KiB
Plaintext
Executable file

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_MT6853 || MACH_MT6739 || MACH_MT6768)) || DMABUF_HEAP_FD2PHYS
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 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_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 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