blob: 463d4969fcd65b51d126d27b09d2d7ab35e60478 [file] [log] [blame]
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 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_NWFS
bool "Normal world file system interface driver"
default y
help
Normal world file system interface driver.
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
choice
prompt "Choose per-cpu kthread workers variant"
default TZDEV_KTHREADS_NOTIFIER
help
This option selects implementation to manage per-cpu kthreads.
config TZDEV_KTHREADS_NOTIFIER
bool "Use old-style cpu notifiers"
config TZDEV_KTHREADS_SMPBOOT
depends on TZDEV_SK_MULTICORE
bool "Use smpboot hotplug subsystem"
endchoice
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