|  | # Copyright (c) 2024 Intel Corp. | 
|  | # SPDX-License-Identifier: Apache-2.0 | 
|  | # | 
|  | menuconfig OBJ_CORE | 
|  | bool "Object core framework" | 
|  | default n | 
|  | help | 
|  | This option enables the object core framework. This will link | 
|  | participating kernel objects and their respective types together | 
|  | in a way that allows them to both have common information stored | 
|  | together and for that information to be easily retrieved by | 
|  | automated means. | 
|  |  | 
|  | if OBJ_CORE | 
|  | config OBJ_CORE_CONDVAR | 
|  | bool "Integrate condition variables into object core framework" | 
|  | default y | 
|  | help | 
|  | When enabled, this option integrates condition variables into the | 
|  | object core framework. | 
|  |  | 
|  | config OBJ_CORE_EVENT | 
|  | bool "Integrate events into object core framework" | 
|  | default y if EVENTS | 
|  | help | 
|  | When enabled, this option integrate kernel events into the object | 
|  | core framework. | 
|  |  | 
|  | config OBJ_CORE_FIFO | 
|  | bool "Integrate FIFOs into object core framework" | 
|  | default y | 
|  | help | 
|  | When enabled, this option integrates FIFOs into the object core | 
|  | framework. | 
|  |  | 
|  | config OBJ_CORE_LIFO | 
|  | bool "Integrate LIFOs into object core framework" | 
|  | default y | 
|  | help | 
|  | When enabled, this option integrates LIFOs into the object core | 
|  | framework. | 
|  |  | 
|  | config OBJ_CORE_MAILBOX | 
|  | bool "Integrate mailboxes into object core framework" | 
|  | default y | 
|  | help | 
|  | When enabled, this option integrates mailboxes into the object core | 
|  | framework. | 
|  |  | 
|  | config OBJ_CORE_MEM_SLAB | 
|  | bool "Integrate memory slabs into object core framework" | 
|  | default y | 
|  | help | 
|  | When enabled, this option integrates memory slabs into the object | 
|  | core framework. | 
|  |  | 
|  | config OBJ_CORE_MUTEX | 
|  | bool "Integrate mutexes into object core framework" | 
|  | default y | 
|  | help | 
|  | When enabled, this option integrates mutexes into the object core | 
|  | framework. | 
|  |  | 
|  | config OBJ_CORE_MSGQ | 
|  | bool "Integrate message queues into object core framework" | 
|  | default y | 
|  | help | 
|  | When enabled, this option integrates message queues into the object | 
|  | core framework. | 
|  |  | 
|  | config OBJ_CORE_SEM | 
|  | bool "Integrate semaphores into object core framework" | 
|  | default y | 
|  | help | 
|  | When enabled, this option integrates semaphores into the object core | 
|  | framework. | 
|  |  | 
|  | config OBJ_CORE_PIPE | 
|  | bool "Integrate pipe into object core framework" | 
|  | default y | 
|  | help | 
|  | When enabled, this option integrates pipes into the object core | 
|  | framework. | 
|  |  | 
|  | config OBJ_CORE_SEM | 
|  | bool "Integrate semaphores into object core framework" | 
|  | default y | 
|  | help | 
|  | When enabled, this option integrates semaphores into the object core | 
|  | framework. | 
|  |  | 
|  | config OBJ_CORE_STACK | 
|  | bool "Integrate stacks into object core framework" | 
|  | default y | 
|  | help | 
|  | When enabled, this option integrates stacks into the object core | 
|  | framework. | 
|  |  | 
|  | config OBJ_CORE_THREAD | 
|  | bool "Integrate threads into object core framework" | 
|  | default y | 
|  | help | 
|  | When enabled, this option integrates threads into the object core | 
|  | framework. | 
|  |  | 
|  | config OBJ_CORE_TIMER | 
|  | bool "Integrate timers into object core framework" | 
|  | default y | 
|  | help | 
|  | When enabled, this option integrates timers into the object core | 
|  | framework. | 
|  |  | 
|  | config OBJ_CORE_SYSTEM | 
|  | bool | 
|  | default y | 
|  | help | 
|  | When enabled, this option integrates the internal CPU and kernel | 
|  | system objects into the object core framework. As these are internal | 
|  | structures, this option is hidden by default and only available to | 
|  | advanced users. | 
|  |  | 
|  | menuconfig OBJ_CORE_STATS | 
|  | bool "Object core statistics" | 
|  | default n | 
|  | help | 
|  | This option integrates statistics gathering into the object core | 
|  | framework. | 
|  |  | 
|  | if OBJ_CORE_STATS | 
|  | config OBJ_CORE_STATS_MEM_SLAB | 
|  | bool "Object core statistics for memory slabs" | 
|  | default y if OBJ_CORE_MEM_SLAB | 
|  | help | 
|  | When enabled, this allows memory slab statistics to be integrated | 
|  | into kernel objects. | 
|  |  | 
|  | config OBJ_CORE_STATS_THREAD | 
|  | bool "Object core statistics for threads" | 
|  | default y if OBJ_CORE_THREAD | 
|  | select THREAD_RUNTIME_STATS | 
|  | help | 
|  | When enabled, this integrates thread runtime statistics into the | 
|  | object core statistics framework. | 
|  |  | 
|  | config OBJ_CORE_STATS_SYSTEM | 
|  | bool "Object core statistics for system level objects" | 
|  | default y if OBJ_CORE_SYSTEM | 
|  | select SCHED_THREAD_USAGE_ALL | 
|  | help | 
|  | When enabled, this integrates thread runtime statistics at the | 
|  | CPU and system level into the object core statistics framework. | 
|  |  | 
|  | endif  # OBJ_CORE_STATS | 
|  |  | 
|  | endif  # OBJ_CORE |