]>
Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
267c4025 MD |
2 | menuconfig SAMPLES |
3 | bool "Sample kernel code" | |
4 | help | |
5 | You can build and test sample kernel code here. | |
6 | ||
7 | if SAMPLES | |
8 | ||
87ffbba9 MY |
9 | config SAMPLE_AUXDISPLAY |
10 | bool "auxdisplay sample" | |
11 | depends on CC_CAN_LINK | |
12 | ||
9cfe06f8 | 13 | config SAMPLE_TRACE_EVENTS |
96d17980 LZ |
14 | tristate "Build trace_events examples -- loadable modules only" |
15 | depends on EVENT_TRACING && m | |
9cfe06f8 SR |
16 | help |
17 | This build trace event example modules. | |
18 | ||
aad108aa SRRH |
19 | config SAMPLE_TRACE_PRINTK |
20 | tristate "Build trace_printk module - tests various trace_printk formats" | |
21 | depends on EVENT_TRACING && m | |
22 | help | |
23 | This builds a module that calls trace_printk() and can be used to | |
24 | test various trace_printk() calls from a module. | |
25 | ||
b06457c8 SRV |
26 | config SAMPLE_FTRACE_DIRECT |
27 | tristate "Build register_ftrace_direct() example" | |
28 | depends on DYNAMIC_FTRACE_WITH_DIRECT_CALLS && m | |
29 | depends on X86_64 # has x86_64 inlined asm | |
30 | help | |
31 | This builds an ftrace direct function example | |
32 | that hooks to wake_up_process and prints the parameters. | |
33 | ||
89ed4249 DI |
34 | config SAMPLE_TRACE_ARRAY |
35 | tristate "Build sample module for kernel access to Ftrace instancess" | |
36 | depends on EVENT_TRACING && m | |
37 | help | |
38 | This builds a module that demonstrates the use of various APIs to | |
39 | access Ftrace instances from within the kernel. | |
40 | ||
40efcb05 | 41 | config SAMPLE_KOBJECT |
e7e34917 | 42 | tristate "Build kobject examples" |
40efcb05 GKH |
43 | help |
44 | This config option will allow you to build a number of | |
45 | different kobject sample modules showing how to use kobjects, | |
46 | ksets, and ktypes properly. | |
47 | ||
48 | If in doubt, say "N" here. | |
49 | ||
804defea AM |
50 | config SAMPLE_KPROBES |
51 | tristate "Build kprobes examples -- loadable modules only" | |
52 | depends on KPROBES && m | |
53 | help | |
54 | This build several kprobes example modules. | |
55 | ||
56 | config SAMPLE_KRETPROBES | |
57 | tristate "Build kretprobes example -- loadable modules only" | |
58 | default m | |
59 | depends on SAMPLE_KPROBES && KRETPROBES | |
60 | ||
43203993 P |
61 | config SAMPLE_HW_BREAKPOINT |
62 | tristate "Build kernel hardware breakpoint examples -- loadable module only" | |
63 | depends on HAVE_HW_BREAKPOINT && m | |
64 | help | |
65 | This builds kernel hardware breakpoint example modules. | |
66 | ||
5bf2b193 SS |
67 | config SAMPLE_KFIFO |
68 | tristate "Build kfifo examples -- loadable modules only" | |
69 | depends on m | |
70 | help | |
71 | This config option will allow you to build a number of | |
72 | different kfifo sample modules showing how to use the | |
73 | generic kfifo API. | |
74 | ||
75 | If in doubt, say "N" here. | |
76 | ||
4aad8f51 | 77 | config SAMPLE_KDB |
25985edc | 78 | tristate "Build kdb command example -- loadable modules only" |
4aad8f51 JW |
79 | depends on KGDB_KDB && m |
80 | help | |
81 | Build an example of how to dynamically add the hello | |
82 | command to the kdb shell. | |
83 | ||
842891be BA |
84 | config SAMPLE_QMI_CLIENT |
85 | tristate "Build qmi client sample -- loadable modules only" | |
86 | depends on m | |
87 | depends on ARCH_QCOM | |
dea4bd19 | 88 | depends on NET |
842891be BA |
89 | select QCOM_QMI_HELPERS |
90 | help | |
91 | Build an QMI client sample driver, which demonstrates how to | |
92 | communicate with a remote QRTR service, using QMI encoded messages. | |
93 | ||
779b96d2 OBC |
94 | config SAMPLE_RPMSG_CLIENT |
95 | tristate "Build rpmsg client sample -- loadable modules only" | |
96 | depends on RPMSG && m | |
97 | help | |
98 | Build an rpmsg client sample driver, which demonstrates how | |
99 | to communicate with an AMP-configured remote processor over | |
100 | the rpmsg bus. | |
101 | ||
12cf89b5 | 102 | config SAMPLE_LIVEPATCH |
439e7271 | 103 | tristate "Build live patching samples -- loadable modules only" |
12cf89b5 | 104 | depends on LIVEPATCH && m |
13d1cf7e | 105 | help |
439e7271 | 106 | Build sample live patch demonstrations. |
13d1cf7e | 107 | |
51798222 CH |
108 | config SAMPLE_CONFIGFS |
109 | tristate "Build configfs patching sample -- loadable modules only" | |
110 | depends on CONFIGFS_FS && m | |
111 | help | |
112 | Builds a sample configfs interface. | |
113 | ||
14fbff6b AB |
114 | config SAMPLE_CONNECTOR |
115 | tristate "Build connector sample -- loadable modules only" | |
e949f4c2 | 116 | depends on CONNECTOR && HEADERS_INSTALL && m |
14fbff6b AB |
117 | help |
118 | When enabled, this builds both a sample kernel module for | |
119 | the connector interface and a user space tool to communicate | |
120 | with it. | |
baa293e9 | 121 | See also Documentation/driver-api/connector.rst |
14fbff6b | 122 | |
e949f4c2 MY |
123 | config SAMPLE_HIDRAW |
124 | bool "hidraw sample" | |
82d00a93 | 125 | depends on CC_CAN_LINK && HEADERS_INSTALL |
e949f4c2 | 126 | |
ba84b0bf MS |
127 | config SAMPLE_LANDLOCK |
128 | bool "Landlock example" | |
129 | depends on CC_CAN_LINK && HEADERS_INSTALL | |
130 | help | |
131 | Build a simple Landlock sandbox manager able to start a process | |
132 | restricted by a user-defined filesystem access control policy. | |
133 | ||
e949f4c2 MY |
134 | config SAMPLE_PIDFD |
135 | bool "pidfd sample" | |
60fb0b12 | 136 | depends on CC_CAN_LINK && HEADERS_INSTALL |
e949f4c2 | 137 | |
f6041c1d | 138 | config SAMPLE_SECCOMP |
7206c124 | 139 | bool "Build seccomp sample code" |
f59e7668 | 140 | depends on SECCOMP_FILTER && CC_CAN_LINK && HEADERS_INSTALL |
f6041c1d OJ |
141 | help |
142 | Build samples of seccomp filters using various methods of | |
143 | BPF filter construction. | |
144 | ||
b98ccc71 MY |
145 | config SAMPLE_TIMER |
146 | bool "Timer sample" | |
147 | depends on CC_CAN_LINK && HEADERS_INSTALL | |
148 | ||
87ecdf4f MY |
149 | config SAMPLE_UHID |
150 | bool "UHID sample" | |
151 | depends on CC_CAN_LINK && HEADERS_INSTALL | |
152 | help | |
153 | Build UHID sample program. | |
154 | ||
08c1a4ef AW |
155 | config SAMPLE_VFIO_MDEV_MTTY |
156 | tristate "Build VFIO mtty example mediated device sample code -- loadable modules only" | |
af3ab3f9 | 157 | depends on VFIO_MDEV && m |
08c1a4ef AW |
158 | help |
159 | Build a virtual tty sample driver for use as a VFIO | |
160 | mediated device | |
161 | ||
d61fc96f GH |
162 | config SAMPLE_VFIO_MDEV_MDPY |
163 | tristate "Build VFIO mdpy example mediated device sample code -- loadable modules only" | |
af3ab3f9 | 164 | depends on VFIO_MDEV && m |
d61fc96f GH |
165 | help |
166 | Build a virtual display sample driver for use as a VFIO | |
167 | mediated device. It is a simple framebuffer and supports | |
168 | the region display interface (VFIO_GFX_PLANE_TYPE_REGION). | |
169 | ||
cacade19 GH |
170 | config SAMPLE_VFIO_MDEV_MDPY_FB |
171 | tristate "Build VFIO mdpy example guest fbdev driver -- loadable module only" | |
172 | depends on FB && m | |
173 | select FB_CFB_FILLRECT | |
174 | select FB_CFB_COPYAREA | |
175 | select FB_CFB_IMAGEBLIT | |
176 | help | |
177 | Guest fbdev driver for the virtual display sample driver. | |
178 | ||
a5e6e650 GH |
179 | config SAMPLE_VFIO_MDEV_MBOCHS |
180 | tristate "Build VFIO mdpy example mediated device sample code -- loadable modules only" | |
af3ab3f9 | 181 | depends on VFIO_MDEV && m |
c1abca96 | 182 | select DMA_SHARED_BUFFER |
a5e6e650 GH |
183 | help |
184 | Build a virtual display sample driver for use as a VFIO | |
185 | mediated device. It supports the region display interface | |
186 | (VFIO_GFX_PLANE_TYPE_DMABUF). | |
187 | Emulate enough of qemu stdvga to make bochs-drm.ko happy. | |
188 | That is basically the vram memory bar and the bochs dispi | |
189 | interface vbe registers in the mmio register bar. | |
190 | Specifically it does *not* include any legacy vga stuff. | |
191 | Device looks a lot like "qemu -device secondary-vga". | |
192 | ||
9762dc14 CB |
193 | config SAMPLE_ANDROID_BINDERFS |
194 | bool "Build Android binderfs example" | |
fca5e949 | 195 | depends on CC_CAN_LINK && HEADERS_INSTALL |
9762dc14 CB |
196 | help |
197 | Builds a sample program to illustrate the use of the Android binderfs | |
198 | filesystem. | |
199 | ||
f1b5618e DH |
200 | config SAMPLE_VFS |
201 | bool "Build example programs that use new VFS system calls" | |
28949b84 | 202 | depends on CC_CAN_LINK && HEADERS_INSTALL |
a528d35e | 203 | help |
f1b5618e DH |
204 | Build example userspace programs that use new VFS system calls such |
205 | as mount API and statx(). Note that this is restricted to the x86 | |
206 | arch whilst it accesses system calls that aren't yet in all arches. | |
a528d35e | 207 | |
6859eba4 TW |
208 | config SAMPLE_INTEL_MEI |
209 | bool "Build example program working with intel mei driver" | |
210 | depends on INTEL_MEI | |
c4c10996 | 211 | depends on CC_CAN_LINK && HEADERS_INSTALL |
6859eba4 TW |
212 | help |
213 | Build a sample program to work with mei device. | |
214 | ||
88a8e278 MY |
215 | config SAMPLE_WATCHDOG |
216 | bool "watchdog sample" | |
217 | depends on CC_CAN_LINK | |
6859eba4 | 218 | |
f5b5a164 | 219 | config SAMPLE_WATCH_QUEUE |
8fe62e0c | 220 | bool "Build example watch_queue notification API consumer" |
214377e9 | 221 | depends on CC_CAN_LINK && HEADERS_INSTALL |
f5b5a164 DH |
222 | help |
223 | Build example userspace program to use the new mount_notify(), | |
224 | sb_notify() syscalls and the KEYCTL_WATCH_KEY keyctl() function. | |
6859eba4 | 225 | |
267c4025 | 226 | endif # SAMPLES |