86 lines
3.1 KiB
Plaintext
86 lines
3.1 KiB
Plaintext
# 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_ALIGNED_ALLOC
|
|
bool "Enable sys_heap_aligned_alloc() API"
|
|
help
|
|
When true, the sys_heap_aligned_alloc() API is available to
|
|
guarantee alignment of returned heap blocks in an efficient
|
|
way. For technical reasons, this requires the use of the
|
|
"big" 8 byte heap block header format, so it will moderately
|
|
increase heap memory overhead on 32 bit platforms when using
|
|
small (<256kb) heaps.
|
|
|
|
config PRINTK64
|
|
bool
|
|
prompt "Enable 64 bit printk conversions" if !64BIT
|
|
default y
|
|
help
|
|
When true, 64 bit values will be printable on 32 bit systems
|
|
using the "ll" flag to the %d, %i, %u, %x and %X specifiers.
|
|
When false, these values will be correctly parsed from the
|
|
function arguments, but will print "ERR" if their value is
|
|
unrepresentable in 32 bits. This setting is always true on
|
|
64 bit systems. Note that setting this =n does not produce
|
|
significant code savings within the printk library code
|
|
itself. Instead, it suppresses the use of the
|
|
toolchain-provided 64 bit division implementation, which may
|
|
reduce code size if it is unused elsewhere in the
|
|
application. Most apps should leave this set to y.
|
|
|
|
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.
|
|
|
|
endmenu
|