1# Copyright (c) 2016 Intel Corporation 2# SPDX-License-Identifier: Apache-2.0 3 4menu "OS Support Library" 5 6config FDTABLE 7 bool "File descriptor table" 8 help 9 This file provides generic file descriptor table implementation, suitable 10 for any I/O object implementing POSIX I/O semantics (i.e. read/write + 11 aux operations). 12 13config PRINTK_SYNC 14 bool "Serialize printk() calls" 15 default y if SMP && MP_MAX_NUM_CPUS > 1 && !(EFI_CONSOLE && LOG) 16 help 17 When true, a spinlock will be taken around the output from a 18 single printk() call, preventing the output data from 19 interleaving with concurrent usage from another CPU or an 20 preempting interrupt. 21 22config MPSC_PBUF 23 bool "Multi producer, single consumer packet buffer" 24 select TIMEOUT_64BIT 25 help 26 Enable usage of mpsc packet buffer. Packet buffer is capable of 27 storing variable length packets in a circular way and operate directly 28 on the buffer memory. 29 30config SPSC_PBUF 31 bool "Single producer, single consumer packet buffer" 32 help 33 Enable usage of spsc packet buffer. Packet buffer is capable of 34 storing variable length packets in a circular way and operate directly 35 on the buffer memory. 36 37if SPSC_PBUF 38 39choice SPSC_PBUF_CACHE_HANDLING 40 prompt "Cache handling" 41 default SPSC_PBUF_CACHE_ALWAYS if SPSC_PBUF_USE_CACHE && !SPSC_PBUF_NO_CACHE 42 default SPSC_PBUF_CACHE_NEVER if !SPSC_PBUF_USE_CACHE && SPSC_PBUF_NO_CACHE 43 default SPSC_PBUF_CACHE_FLAG 44 45config SPSC_PBUF_CACHE_FLAG 46 bool "Use cache flag" 47 help 48 Use instance specific configuration flag for cache handling. 49 50config SPSC_PBUF_CACHE_ALWAYS 51 bool "Always handle cache" 52 help 53 Handle cache writeback and invalidation for all instances. Option used 54 to avoid runtime check and thus reduce memory footprint. 55 56config SPSC_PBUF_CACHE_NEVER 57 bool "Never handle cache" 58 help 59 Discar cache handling for all instances. Option used to avoid runtime 60 check and thus reduce memory footprint. 61 62endchoice 63 64config SPSC_PBUF_USE_CACHE 65 bool 66 67config SPSC_PBUF_NO_CACHE 68 bool 69 70if SPSC_PBUF_CACHE_FLAG || SPSC_PBUF_CACHE_ALWAYS 71 72config SPSC_PBUF_REMOTE_DCACHE_LINE 73 int "Remote cache line size" 74 default 32 75 help 76 If a packet buffer is used for data sharing between two cores then 77 this value should be set to the data cache line size of the remote core. 78 If local data cache line is detected at runtime then it should be 79 maximum of local and remote line size. 80 81endif # SPSC_PBUF_CACHE_FLAG || SPSC_PBUF_CACHE_ALWAYS 82 83config SPSC_PBUF_UTILIZATION 84 bool "Track maximum utilization" 85 help 86 When enabled, maximum utilization is tracked which can be used to 87 determine the size of the packet buffer. 88 89endif # SPSC_PBUF 90 91if MPSC_PBUF 92config MPSC_CLEAR_ALLOCATED 93 bool "Clear allocated packet" 94 help 95 When enabled packet space is zeroed before returning from allocation. 96endif 97 98config REBOOT 99 bool "Reboot functionality" 100 help 101 Enable the sys_reboot() API. Enabling this can drag in other subsystems 102 needed to perform a "safe" reboot (e.g. to stop the system clock before 103 issuing a reset). 104 105config HAS_POWEROFF 106 bool 107 help 108 Option to signal that power off functionality is implemented. 109 110config POWEROFF 111 bool "Power off functionality" 112 depends on HAS_POWEROFF 113 help 114 Enable support for system power off. 115 116rsource "Kconfig.cbprintf" 117 118endmenu 119