# Copyright (c) 2016 Intel Corporation # SPDX-License-Identifier: Apache-2.0 menu "OS Support Library" config ZVFS_OPEN_MAX int "Maximum number of open file descriptors" default 0 help Maximum number of open file descriptors, this includes files, sockets, special devices, etc. If subsystems specify ZVFS_OPEN_ADD_SIZE_* options, these will be added together and the sum will be compared to the ZVFS_OPEN_MAX value. If the sum is greater than the ZVFS_OPEN_MAX option (even if this has the default 0 value), then the actual file descriptor count will be rounded up to the sum of the individual requirements (unless the ZVFS_OPEN_IGNORE_MIN option is enabled). If the final value, after considering both this option as well as sum of the custom requirements, ends up being zero, then no file descriptors will be available. config ZVFS_OPEN_IGNORE_MIN bool "Ignore the minimum fd count requirement" help This option can be set to force setting a smaller file descriptor count than what's specified by enabled subsystems. This can be useful when optimizing memory usage and a more precise minimum fd count is known for a given application. config PRINTK_SYNC bool "Serialize printk() calls" default y if SMP && MP_MAX_NUM_CPUS > 1 && !(EFI_CONSOLE && LOG) help When true, a spinlock will be taken around the output from a single printk() call, preventing the output data from interleaving with concurrent usage from another CPU or an preempting interrupt. config MPSC_PBUF bool "Multi producer, single consumer packet buffer" select TIMEOUT_64BIT help Enable usage of mpsc packet buffer. Packet buffer is capable of storing variable length packets in a circular way and operate directly on the buffer memory. config SPSC_PBUF bool "Single producer, single consumer packet buffer" help Enable usage of spsc packet buffer. Packet buffer is capable of storing variable length packets in a circular way and operate directly on the buffer memory. if SPSC_PBUF choice SPSC_PBUF_CACHE_HANDLING prompt "Cache handling" default SPSC_PBUF_CACHE_ALWAYS if SPSC_PBUF_USE_CACHE && !SPSC_PBUF_NO_CACHE default SPSC_PBUF_CACHE_NEVER if !SPSC_PBUF_USE_CACHE && SPSC_PBUF_NO_CACHE default SPSC_PBUF_CACHE_FLAG config SPSC_PBUF_CACHE_FLAG bool "Use cache flag" help Use instance specific configuration flag for cache handling. config SPSC_PBUF_CACHE_ALWAYS bool "Always handle cache" help Handle cache writeback and invalidation for all instances. Option used to avoid runtime check and thus reduce memory footprint. Beware! It shall be used only if all packet buffer instances are used for data sharing between cores. config SPSC_PBUF_CACHE_NEVER bool "Never handle cache" help Discar cache handling for all instances. Option used to avoid runtime check and thus reduce memory footprint. endchoice config SPSC_PBUF_USE_CACHE bool config SPSC_PBUF_NO_CACHE bool if SPSC_PBUF_CACHE_FLAG || SPSC_PBUF_CACHE_ALWAYS config SPSC_PBUF_REMOTE_DCACHE_LINE int "Remote cache line size" default 32 help If a packet buffer is used for data sharing between two cores then this value should be set to the data cache line size of the remote core. If local data cache line is detected at runtime then it should be maximum of local and remote line size. endif # SPSC_PBUF_CACHE_FLAG || SPSC_PBUF_CACHE_ALWAYS config SPSC_PBUF_UTILIZATION bool "Track maximum utilization" help When enabled, maximum utilization is tracked which can be used to determine the size of the packet buffer. endif # SPSC_PBUF if MPSC_PBUF config MPSC_CLEAR_ALLOCATED bool "Clear allocated packet" help When enabled packet space is zeroed before returning from allocation. endif if SCHED_DEADLINE config P4WQ_INIT_STAGE_EARLY bool "Early initialization of P4WQ threads" help Initialize P4WQ threads early so that the P4WQ can be used on devices initialization sequence. endif config REBOOT bool "Reboot functionality" help Enable the sys_reboot() API. Enabling this can drag in other subsystems needed to perform a "safe" reboot (e.g. to stop the system clock before issuing a reset). config HAS_POWEROFF bool help Option to signal that power off functionality is implemented. config POWEROFF bool "Power off functionality" depends on HAS_POWEROFF help Enable support for system power off. rsource "Kconfig.cbprintf" rsource "zvfs/Kconfig" rsource "cpu_load/Kconfig" endmenu