| # Copyright (c) 2016 Intel Corporation |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| menu "OS Support Library" |
| |
| config JSON_LIBRARY |
| bool "Build JSON library" |
| help |
| Build a minimal JSON parsing/encoding library. Used by sample |
| applications such as the NATS client. |
| |
| config RING_BUFFER |
| bool "Enable ring buffers" |
| help |
| Enable usage of ring buffers. This is similar to kernel FIFOs but ring |
| buffers manage their own buffer memory and can store arbitrary data. |
| For optimal performance, use buffer sizes that are a power of 2. |
| |
| config BASE64 |
| bool "Enable base64 encoding and decoding" |
| help |
| Enable base64 encoding and decoding functionality |
| |
| config SYS_HEAP_VALIDATE |
| bool "Enable internal heap validity checking" |
| help |
| The sys_heap implementation is instrumented for extensive |
| internal validation. Leave this off by default, unless |
| modifying the heap code or (maybe) when running in |
| environments that require sensitive detection of memory |
| corruption. |
| |
| config SYS_HEAP_ALLOC_LOOPS |
| int "Number of tries in the inner heap allocation loop" |
| default 3 |
| help |
| The sys_heap allocator bounds the number of tries from the |
| smallest chunk level (the one that might not fit the |
| requested allocation) to maintain constant time performance. |
| Setting this to a high level will cause the heap to return |
| more successful allocations in situations of high |
| fragmentation, at the cost of potentially significant |
| (linear time) searching of the free list. The default is |
| three, which results in an allocator with good statistical |
| properties ("most" allocations that fit will succeed) but |
| keeps the maximum runtime at a tight bound so that the heap |
| is useful in locked or ISR contexts. |
| |
| config SYS_HEAP_ALWAYS_BIG_MODE |
| bool "Always use the heap big chunks mode" |
| help |
| The sys_heap allocator by default returns pointers to blocks |
| which are guaranteed to be aligned to the pointer size. |
| By enabling the "big chunks" mode, the returned blocks are |
| guaranteed to be 8 byte aligned, also on 32-bit platforms. |
| If this option is enabled, the "big chunks" mode will always |
| be used by sys_heap. |
| |
| config PRINTK64 |
| bool "Enable 64 bit printk conversions (DEPRECATED)" |
| help |
| Replace with CBPRINTF_FULL_INTEGRAL. |
| |
| config PRINTK_SYNC |
| bool "Serialize printk() calls" |
| default y if SMP && MP_NUM_CPUS > 1 |
| 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. |
| |
| rsource "Kconfig.cbprintf" |
| |
| endmenu |