323 lines
7.9 KiB
Plaintext
323 lines
7.9 KiB
Plaintext
|
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
|