1# Copyright (c) 2016 Intel Corporation 2# SPDX-License-Identifier: Apache-2.0 3 4menu "OS Support Library" 5 6config ZVFS_OPEN_MAX 7 int "Maximum number of open file descriptors" 8 default 0 9 help 10 Maximum number of open file descriptors, this includes 11 files, sockets, special devices, etc. If subsystems 12 specify ZVFS_OPEN_ADD_SIZE_* options, these will be added together 13 and the sum will be compared to the ZVFS_OPEN_MAX value. 14 If the sum is greater than the ZVFS_OPEN_MAX option (even if this 15 has the default 0 value), then the actual file descriptor count will be 16 rounded up to the sum of the individual requirements (unless the 17 ZVFS_OPEN_IGNORE_MIN option is enabled). If the final value, after 18 considering both this option as well as sum of the custom 19 requirements, ends up being zero, then no file descriptors will be 20 available. 21 22config ZVFS_OPEN_IGNORE_MIN 23 bool "Ignore the minimum fd count requirement" 24 help 25 This option can be set to force setting a smaller file descriptor 26 count than what's specified by enabled subsystems. This can be useful 27 when optimizing memory usage and a more precise minimum fd count 28 is known for a given application. 29 30config PRINTK_SYNC 31 bool "Serialize printk() calls" 32 default y if SMP && MP_MAX_NUM_CPUS > 1 && !(EFI_CONSOLE && LOG) 33 help 34 When true, a spinlock will be taken around the output from a 35 single printk() call, preventing the output data from 36 interleaving with concurrent usage from another CPU or an 37 preempting interrupt. 38 39config MPSC_PBUF 40 bool "Multi producer, single consumer packet buffer" 41 select TIMEOUT_64BIT 42 help 43 Enable usage of mpsc packet buffer. Packet buffer is capable of 44 storing variable length packets in a circular way and operate directly 45 on the buffer memory. 46 47config SPSC_PBUF 48 bool "Single producer, single consumer packet buffer" 49 help 50 Enable usage of spsc packet buffer. Packet buffer is capable of 51 storing variable length packets in a circular way and operate directly 52 on the buffer memory. 53 54if SPSC_PBUF 55 56choice SPSC_PBUF_CACHE_HANDLING 57 prompt "Cache handling" 58 default SPSC_PBUF_CACHE_ALWAYS if SPSC_PBUF_USE_CACHE && !SPSC_PBUF_NO_CACHE 59 default SPSC_PBUF_CACHE_NEVER if !SPSC_PBUF_USE_CACHE && SPSC_PBUF_NO_CACHE 60 default SPSC_PBUF_CACHE_FLAG 61 62config SPSC_PBUF_CACHE_FLAG 63 bool "Use cache flag" 64 help 65 Use instance specific configuration flag for cache handling. 66 67config SPSC_PBUF_CACHE_ALWAYS 68 bool "Always handle cache" 69 help 70 Handle cache writeback and invalidation for all instances. Option used 71 to avoid runtime check and thus reduce memory footprint. Beware! It shall 72 be used only if all packet buffer instances are used for data sharing 73 between cores. 74 75config SPSC_PBUF_CACHE_NEVER 76 bool "Never handle cache" 77 help 78 Discar cache handling for all instances. Option used to avoid runtime 79 check and thus reduce memory footprint. 80 81endchoice 82 83config SPSC_PBUF_USE_CACHE 84 bool 85 86config SPSC_PBUF_NO_CACHE 87 bool 88 89if SPSC_PBUF_CACHE_FLAG || SPSC_PBUF_CACHE_ALWAYS 90 91config SPSC_PBUF_REMOTE_DCACHE_LINE 92 int "Remote cache line size" 93 default 32 94 help 95 If a packet buffer is used for data sharing between two cores then 96 this value should be set to the data cache line size of the remote core. 97 If local data cache line is detected at runtime then it should be 98 maximum of local and remote line size. 99 100endif # SPSC_PBUF_CACHE_FLAG || SPSC_PBUF_CACHE_ALWAYS 101 102config SPSC_PBUF_UTILIZATION 103 bool "Track maximum utilization" 104 help 105 When enabled, maximum utilization is tracked which can be used to 106 determine the size of the packet buffer. 107 108endif # SPSC_PBUF 109 110if MPSC_PBUF 111config MPSC_CLEAR_ALLOCATED 112 bool "Clear allocated packet" 113 help 114 When enabled packet space is zeroed before returning from allocation. 115endif 116 117if SCHED_DEADLINE 118 119config P4WQ_INIT_STAGE_EARLY 120 bool "Early initialization of P4WQ threads" 121 help 122 Initialize P4WQ threads early so that the P4WQ can be used on devices 123 initialization sequence. 124 125endif 126 127config REBOOT 128 bool "Reboot functionality" 129 help 130 Enable the sys_reboot() API. Enabling this can drag in other subsystems 131 needed to perform a "safe" reboot (e.g. to stop the system clock before 132 issuing a reset). 133 134config HAS_POWEROFF 135 bool 136 help 137 Option to signal that power off functionality is implemented. 138 139config POWEROFF 140 bool "Power off functionality" 141 depends on HAS_POWEROFF 142 help 143 Enable support for system power off. 144 145rsource "Kconfig.cbprintf" 146rsource "zvfs/Kconfig" 147rsource "cpu_load/Kconfig" 148 149endmenu 150