123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- #ifndef ZEPHYR_INCLUDE_LOGGING_LOG_INSTANCE_H_
- #define ZEPHYR_INCLUDE_LOGGING_LOG_INSTANCE_H_
- #include <zephyr/types.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- struct log_source_const_data {
- const char *name;
- uint8_t level;
- #ifdef CONFIG_NIOS2
-
- uint32_t dummy;
- #endif
- };
- struct log_source_dynamic_data {
- uint32_t filters;
- #ifdef CONFIG_NIOS2
-
- uint32_t dummy[2];
- #endif
- #if defined(CONFIG_RISCV) && defined(CONFIG_64BIT)
-
- uint32_t dummy;
- #endif
- };
- #define LOG_ITEM_CONST_DATA(_name) UTIL_CAT(log_const_, _name)
- #define Z_LOG_CONST_ITEM_REGISTER(_name, _str_name, _level) \
- const struct log_source_const_data LOG_ITEM_CONST_DATA(_name) \
- __attribute__ ((section("." STRINGIFY(LOG_ITEM_CONST_DATA(_name))))) \
- __attribute__((used)) = { \
- .name = _str_name, \
- .level = (_level), \
- }
- #ifdef CONFIG_LOG
- #define LOG_INSTANCE_FULL_NAME(_module_name, _inst_name) \
- UTIL_CAT(_module_name, UTIL_CAT(_, _inst_name))
- #if defined(CONFIG_LOG_RUNTIME_FILTERING)
- #define LOG_INSTANCE_PTR_DECLARE(_name) \
- struct log_source_dynamic_data *_name
- #define LOG_INSTANCE_REGISTER(_module_name, _inst_name, _level) \
- Z_LOG_CONST_ITEM_REGISTER( \
- LOG_INSTANCE_FULL_NAME(_module_name, _inst_name), \
- STRINGIFY(_module_name._inst_name), \
- _level); \
- struct log_source_dynamic_data LOG_INSTANCE_DYNAMIC_DATA( \
- _module_name, _inst_name) \
- __attribute__ ((section("." STRINGIFY( \
- LOG_INSTANCE_DYNAMIC_DATA(_module_name, \
- _inst_name) \
- ) \
- ))) __attribute__((used))
- #define LOG_INSTANCE_PTR_INIT(_name, _module_name, _inst_name) \
- ._name = &LOG_ITEM_DYNAMIC_DATA( \
- LOG_INSTANCE_FULL_NAME(_module_name, _inst_name)),
- #else
- #define LOG_INSTANCE_PTR_DECLARE(_name) \
- const struct log_source_const_data *_name
- #define LOG_INSTANCE_REGISTER(_module_name, _inst_name, _level) \
- Z_LOG_CONST_ITEM_REGISTER( \
- LOG_INSTANCE_FULL_NAME(_module_name, _inst_name), \
- STRINGIFY(_module_name._inst_name), \
- _level)
- #define LOG_INSTANCE_PTR_INIT(_name, _module_name, _inst_name) \
- ._name = &LOG_ITEM_CONST_DATA( \
- LOG_INSTANCE_FULL_NAME(_module_name, _inst_name)),
- #endif
- #else
- #define LOG_INSTANCE_PTR_DECLARE(_name)
- #define LOG_INSTANCE_REGISTER(_module_name, _inst_name, _level)
- #define LOG_INSTANCE_PTR_INIT(_name, _module_name, _inst_name)
- #endif
- #ifdef __cplusplus
- }
- #endif
- #endif
|