Lazuli
|
Lazuli configuration file for static analysis. More...
Go to the source code of this file.
Macros | |
#define | LZ_CONFIG_SERIAL_NEWLINE "\r\n" |
The sequence to use for new lines on the serial line. | |
Variables | |
const char *const | LZ_VERSION |
The Lazuli kernel version as a string, defined as MAJOR.MINOR.PATCH. | |
const int | LZ_VERSION_MAJOR |
The Lazuli kernel MAJOR version number. | |
const int | LZ_VERSION_MINOR |
The Lazuli kernel MINOR version number. | |
const int | LZ_VERSION_PATCH |
The Lazuli kernel PATCH version number. | |
const size_t | LZ_CONFIG_BREAK_STACK_GAP |
Size in bytes of the security gap between the break and the stack pointer. | |
const unsigned int | LZ_CONFIG_MACHINE_CLOCK_FREQUENCY |
The clock frequency of the machine, in Hertz. | |
const unsigned int | LZ_CONFIG_SYSTEM_CLOCK_RESOLUTION_FREQUENCY |
The operating system clock resolution frequency, in Hertz. | |
const bool | LZ_CONFIG_ON_PANIC_INFINITE_LOOP |
When 1, run an infinite loop on kernel panic. More... | |
const bool | LZ_CONFIG_ON_PANIC_SOFTWARE_RESET |
When 1, perform a software reset on kernel panic. More... | |
const size_t | LZ_CONFIG_DEFAULT_TASK_STACK_SIZE |
Default stack size in bytes for a new task. | |
const lz_task_priority_t | LZ_CONFIG_DEFAULT_TASK_PRIORITY |
Default priority for a new task. | |
const bool | LZ_CONFIG_CHECK_NULL_PARAMETERS_IN_LISTS |
When 1, always check for NULL functions parameters in linked lists implementation. More... | |
const bool | LZ_CONFIG_CHECK_INTERRUPT_CODE_OVER_LAST_ENTRY |
When 1, check if the interrupt code sent by the ASM interrupt handler to the base scheduler interrupt handler is an admissible value. More... | |
const bool | LZ_CONFIG_ON_IDLE_SLEEP |
When 1, put the CPU to sleep when it's idle. More... | |
Scheduling | |
const size_t | LZ_CONFIG_IDLE_TASK_STACK_SIZE |
The stack size in bytes of the scheduler idle task. | |
const bool | LZ_CONFIG_IDLE_TASK_HAS_NAME |
Configure if the idle task must have a name. More... | |
const char *const | LZ_CONFIG_IDLE_TASK_NAME |
The name of the idle task. More... | |
const bool | LZ_CONFIG_INSTRUMENT_CONTEXT_SWITCHES |
When set, add instrumentation code to measure context switches. | |
Spinlocks | |
const bool | LZ_CONFIG_CHECK_NULL_PARAMETERS_IN_SPINLOCKS |
When 1, always check for NULL functions parameters in spinlocks implementation. More... | |
Mutexes | |
const bool | LZ_CONFIG_CHECK_NULL_PARAMETERS_IN_MUTEXES |
When 1, always check for NULL functions parameters in mutexes implementation. More... | |
Serial | |
const bool | LZ_CONFIG_CHECK_NULL_PARAMETERS_IN_SERIAL |
When 1, always check for NULL functions parameters in serial API. More... | |
const bool | LZ_CONFIG_CHECK_WRONG_ENUM_ENTRIES_IN_SERIAL |
When 1, check for enum parameters that are over the admissible values defined by the enum. More... | |
const bool | LZ_CONFIG_SERIAL_USE_INTERRUPTS |
When 1, serial input and output will use interrupt blocking. More... | |
AVR-specific configuration | |
const bool | LZ_CONFIG_AVR_SLEEP_WITH_IDLE_MODE |
Enter "Idle Mode" when sleeping. More... | |
const bool | LZ_CONFIG_AVR_SLEEP_WITH_ADC_NOISE_REDUCTION_MODE |
Enter "ADC Noise Reduction Mode" when sleeping. | |
const bool | LZ_CONFIG_AVR_SLEEP_WITH_POWER_DOWN_MODE |
Enter "Power-down Mode" when sleeping. | |
const bool | LZ_CONFIG_AVR_SLEEP_WITH_POWER_SAVE_MODE |
Enter "Power-save Mode" when sleeping. | |
const bool | LZ_CONFIG_AVR_SLEEP_WITH_STANDBY_MODE |
Enter "Standby Mode" when sleeping. | |
const bool | LZ_CONFIG_AVR_SLEEP_WITH_EXTENDED_STANDBY_MODE |
Enter "Extended Standby Mode" when sleeping. | |
Used modules | |
const bool | LZ_CONFIG_MODULE_CLOCK_24_USED |
Use module "clock_24": Implement a 24-Hour clock in the kernel. | |
const bool | LZ_CONFIG_MODULE_MUTEX_USED |
Use module "mutex": Mutexes implementation. | |
const bool | LZ_CONFIG_MODULE_SERIAL_USED |
Use module "serial": Serial interface configuration. | |
const bool | LZ_CONFIG_MODULE_SPINLOCK_USED |
Use module "spinlock": Spinlocks implementation. | |
uint16_t | LZ_CONFIG_AVR_INSTRUMENT_PORT |
The port used for instrumentation on AVR machines. | |
uint8_t | LZ_CONFIG_AVR_INSTRUMENT_POSITION |
The position in the port used for instrumentation on AVR machines. | |
Lazuli configuration file for static analysis.
This file is a redefinition of all the configuration macro constants that are defined in config.h.in. All the macro constants are defined here as if they were true C extern symbols. The reason for that is that most static code analysis tools operate on preprocessed files. By using this file instead of the final config.h, we simulate the fact that these configuration constants can take any value. So static analysizers don't complain/exclude/assume some parts of source code.
Definition in file config_static_analysis.h.
const bool LZ_CONFIG_ON_PANIC_INFINITE_LOOP |
When 1, run an infinite loop on kernel panic.
When 0, doesn't apply.
const bool LZ_CONFIG_ON_PANIC_SOFTWARE_RESET |
When 1, perform a software reset on kernel panic.
When 0, doesn't apply.
const bool LZ_CONFIG_CHECK_NULL_PARAMETERS_IN_LISTS |
When 1, always check for NULL functions parameters in linked lists implementation.
When 0, never check for NULL parameters.
This is a way to obtain better performances, but it's also less safe.
const bool LZ_CONFIG_CHECK_INTERRUPT_CODE_OVER_LAST_ENTRY |
When 1, check if the interrupt code sent by the ASM interrupt handler to the base scheduler interrupt handler is an admissible value.
When 0, don't check.
const bool LZ_CONFIG_ON_IDLE_SLEEP |
When 1, put the CPU to sleep when it's idle.
When 0, the CPU will actively infinite loop when it's idle.
const bool LZ_CONFIG_IDLE_TASK_HAS_NAME |
Configure if the idle task must have a name.
If set to 1, the idle task will have a name attached to it, and the necessary bytes will be used to store this name in read-only data section. This name is defined in this configuration file.
If set to 0, the idle task will have no name attached to it. Thus it can save a few bytes in the read-only data section.
const char* const LZ_CONFIG_IDLE_TASK_NAME |
The name of the idle task.
Never used if LZ_CONFIG_IDLE_TASK_HAS_NAME is set to 0.
const bool LZ_CONFIG_CHECK_NULL_PARAMETERS_IN_SPINLOCKS |
When 1, always check for NULL functions parameters in spinlocks implementation.
When 0, never check for NULL parameters.
This is a way to obtain better performances, but it's also less safe.
const bool LZ_CONFIG_CHECK_NULL_PARAMETERS_IN_MUTEXES |
When 1, always check for NULL functions parameters in mutexes implementation.
When 0, never check for NULL parameters.
This is a way to obtain better performances, but it's also less safe.
const bool LZ_CONFIG_CHECK_NULL_PARAMETERS_IN_SERIAL |
When 1, always check for NULL functions parameters in serial API.
When 0, never check for NULL parameters.
This is one way to obtain better performances, but it's also less safe.
const bool LZ_CONFIG_CHECK_WRONG_ENUM_ENTRIES_IN_SERIAL |
When 1, check for enum parameters that are over the admissible values defined by the enum.
When 0, never check the value of enum parameters.
This is one way to obtain better performances, but it's also less safe.
const bool LZ_CONFIG_SERIAL_USE_INTERRUPTS |
When 1, serial input and output will use interrupt blocking.
When 0, serial input and output will use active waiting (spin).
const bool LZ_CONFIG_AVR_SLEEP_WITH_IDLE_MODE |
Enter "Idle Mode" when sleeping.
This is the default value no sleep mode is selected.