| # Copyright (c) 2023 Intel Corporation |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| config COMMON_LIBC_ABORT |
| bool |
| help |
| common implementation of abort(). |
| |
| config COMMON_LIBC_TIME |
| bool |
| help |
| common implementation of time(). |
| |
| config COMMON_LIBC_MALLOC |
| bool "Common C library malloc implementation" |
| select NEED_LIBC_MEM_PARTITION if COMMON_LIBC_MALLOC_ARENA_SIZE != 0 |
| help |
| Common implementation of malloc family that uses the kernel heap |
| API. |
| |
| config COMMON_LIBC_MALLOC_ARENA_SIZE |
| int "Size of the common C library malloc arena" |
| depends on COMMON_LIBC_MALLOC |
| default 0 if MINIMAL_LIBC |
| default 16384 if MMU |
| default 2048 if USERSPACE && MPU_REQUIRES_POWER_OF_TWO_ALIGNMENT |
| default 16384 if ARCH_POSIX |
| default -1 |
| help |
| Indicate the size in bytes of the memory arena used for |
| common C library malloc() implementation. |
| |
| If set to zero, then no malloc() heap will be available. |
| |
| If set to -1, then all remaining system RAM will be used for this |
| area. |
| |
| If user mode is enabled, and MPU hardware has requirements that |
| regions be sized to a power of two and aligned to their size, |
| then this must be defined as a power of two or a compile error |
| will result. |
| |
| When using the minimal C library, the default is to have no |
| malloc heap. Otherwise, on systems with an MMU the default is |
| 16kB and all other systems will default to using all remaining |
| ram for the malloc heap. |
| |
| config COMMON_LIBC_CALLOC |
| bool "Common C library calloc" |
| depends on COMMON_LIBC_MALLOC |
| default n if MINIMAL_LIBC && !MINIMAL_LIBC_CALLOC |
| default y |
| help |
| Enable the common C library trivial implementation of calloc, |
| which forwards to malloc and memset. |
| |
| config COMMON_LIBC_REALLOCARRAY |
| bool "Common C library reallocarray" |
| depends on COMMON_LIBC_MALLOC |
| default n if MINIMAL_LIBC && !MINIMAL_LIBC_REALLOCARRAY |
| default y |
| help |
| Enable the common C library trivial implementation of |
| reallocarray, which forwards to realloc. |
| |
| config COMMON_LIBC_STRNLEN |
| bool |
| help |
| common implementation of strnlen(). |
| |
| config COMMON_LIBC_THRD |
| bool "C11 <threads.h> API support" |
| depends on DYNAMIC_THREAD |
| # Note: the POSIX_API dependency is only necessary until common elements |
| # of C11 threads and POSIX API can be abstracted out to a common library. |
| depends on POSIX_API |
| default y |
| help |
| Common implementation of C11 <threads.h> API. |