blob: 5c9a1418ffeea6d1b78f084386127f470bd58475 [file] [log] [blame]
Anas Nashif6e95bde2024-02-23 07:24:52 -05001# Copyright (c) 2024 Intel Corp.
2# SPDX-License-Identifier: Apache-2.0
3#
4menuconfig OBJ_CORE
5 bool "Object core framework"
6 default n
7 help
8 This option enables the object core framework. This will link
9 participating kernel objects and their respective types together
10 in a way that allows them to both have common information stored
11 together and for that information to be easily retrieved by
12 automated means.
13
14if OBJ_CORE
15config OBJ_CORE_CONDVAR
16 bool "Integrate condition variables into object core framework"
17 default y
18 help
19 When enabled, this option integrates condition variables into the
20 object core framework.
21
22config OBJ_CORE_EVENT
23 bool "Integrate events into object core framework"
24 default y if EVENTS
25 help
26 When enabled, this option integrate kernel events into the object
27 core framework.
28
29config OBJ_CORE_FIFO
30 bool "Integrate FIFOs into object core framework"
31 default y
32 help
33 When enabled, this option integrates FIFOs into the object core
34 framework.
35
36config OBJ_CORE_LIFO
37 bool "Integrate LIFOs into object core framework"
38 default y
39 help
40 When enabled, this option integrates LIFOs into the object core
41 framework.
42
43config OBJ_CORE_MAILBOX
44 bool "Integrate mailboxes into object core framework"
45 default y
46 help
47 When enabled, this option integrates mailboxes into the object core
48 framework.
49
50config OBJ_CORE_MEM_SLAB
51 bool "Integrate memory slabs into object core framework"
52 default y
53 help
54 When enabled, this option integrates memory slabs into the object
55 core framework.
56
57config OBJ_CORE_MUTEX
58 bool "Integrate mutexes into object core framework"
59 default y
60 help
61 When enabled, this option integrates mutexes into the object core
62 framework.
63
64config OBJ_CORE_MSGQ
65 bool "Integrate message queues into object core framework"
66 default y
67 help
68 When enabled, this option integrates message queues into the object
69 core framework.
70
71config OBJ_CORE_SEM
72 bool "Integrate semaphores into object core framework"
73 default y
74 help
75 When enabled, this option integrates semaphores into the object core
76 framework.
77
78config OBJ_CORE_PIPE
79 bool "Integrate pipe into object core framework"
80 default y if PIPES
81 help
82 When enabled, this option integrates pipes into the object core
83 framework.
84
85config OBJ_CORE_SEM
86 bool "Integrate semaphores into object core framework"
87 default y
88 help
89 When enabled, this option integrates semaphores into the object core
90 framework.
91
92config OBJ_CORE_STACK
93 bool "Integrate stacks into object core framework"
94 default y
95 help
96 When enabled, this option integrates stacks into the object core
97 framework.
98
99config OBJ_CORE_THREAD
100 bool "Integrate threads into object core framework"
101 default y
102 help
103 When enabled, this option integrates threads into the object core
104 framework.
105
106config OBJ_CORE_TIMER
107 bool "Integrate timers into object core framework"
108 default y
109 help
110 When enabled, this option integrates timers into the object core
111 framework.
112
113config OBJ_CORE_SYSTEM
114 bool
115 default y
116 help
117 When enabled, this option integrates the internal CPU and kernel
118 system objects into the object core framework. As these are internal
119 structures, this option is hidden by default and only available to
120 advanced users.
121
122menuconfig OBJ_CORE_STATS
123 bool "Object core statistics"
124 default n
125 help
126 This option integrates statistics gathering into the object core
127 framework.
128
129if OBJ_CORE_STATS
130config OBJ_CORE_STATS_MEM_SLAB
131 bool "Object core statistics for memory slabs"
132 default y if OBJ_CORE_MEM_SLAB
133 help
134 When enabled, this allows memory slab statistics to be integrated
135 into kernel objects.
136
137config OBJ_CORE_STATS_THREAD
138 bool "Object core statistics for threads"
139 default y if OBJ_CORE_THREAD
140 select THREAD_RUNTIME_STATS
141 help
142 When enabled, this integrates thread runtime statistics into the
143 object core statistics framework.
144
145config OBJ_CORE_STATS_SYSTEM
146 bool "Object core statistics for system level objects"
147 default y if OBJ_CORE_SYSTEM
148 select SCHED_THREAD_USAGE_ALL
149 help
150 When enabled, this integrates thread runtime statistics at the
151 CPU and system level into the object core statistics framework.
152
153endif # OBJ_CORE_STATS
154
155endif # OBJ_CORE