blob: 148451077081c63e8162e7f56c68ca7a6a8c5369 [file] [log] [blame]
# Copyright (c) 2021 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
menu "Misc"
config LOG_DOMAIN_ID
int "Domain ID"
depends on !LOG_MODE_MINIMAL
default 0
range 0 7
help
In multicore system each application/core must have unique domain ID.
config LOG_CMDS
bool "Shell commands"
depends on SHELL
depends on !LOG_FRONTEND_ONLY && !LOG_MODE_MINIMAL
default y if SHELL
config LOG_TEST_CLEAR_MESSAGE_SPACE
bool "Clear message after allocation"
default y
depends on ZTEST
help
Used in testing to simplify message comparision if message contains
paddings.
config LOG_USE_VLA
bool "Using variable length arrays"
default y if !MISRA_SANE
help
Using VLA slightly decreases stack usage in some cases it may not be
supported. Note that VLA are used for arrays which size is resolved at
compile time so at runtime arrays have fixed size.
config LOG_ALWAYS_RUNTIME
bool "Always use runtime message creation (v2)"
default y if NO_OPTIMIZATIONS
default y if LOG_MODE_IMMEDIATE
default y if "$(ZEPHYR_TOOLCHAIN_VARIANT)" = "xcc"
help
If enabled, runtime method is always used for message creation. Static
creation relies on compiler being able to optimize and remove code
based on information known at compile time. Runtime only approach must
be used when optimization is disabled because some compilers
(seen on arm_cortex_m and x86) were using unrealistic amount of stack
for dead code. It is also required in immediate mode since it requires
less stack than static message creation and speed has lower priority
in that mode.
config LOG_FMT_SECTION
bool "Keep log strings in dedicated section"
help
When enabled, logs are kept in dedicated memory section. It allows
removing strings from final binary and should be used for dictionary
logging.
config LOG_USE_TAGGED_ARGUMENTS
bool "Using tagged arguments for packaging"
select CBPRINTF_PACKAGE_SUPPORT_TAGGED_ARGUMENTS
select LOG_ALWAYS_RUNTIME
help
If enabled, packaging uses tagged arguments.
config LOG_MEM_UTILIZATION
bool "Tracking maximum memory utilization"
depends on LOG_MODE_DEFERRED
default y if LOG_CMDS
help
When enabled, maximum usage of memory used for log messages in deferred
mode is tracked. It can be used to trim LOG_BUFFER_SIZE.
config LOG_DICTIONARY_DB
bool
endmenu