Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-block.git] / samples / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
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
9 config SAMPLE_AUXDISPLAY
10         bool "auxdisplay sample"
11         depends on CC_CAN_LINK
12
13 config SAMPLE_TRACE_EVENTS
14         tristate "Build trace_events examples -- loadable modules only"
15         depends on EVENT_TRACING && m
16         help
17           This builds the trace event example module.
18
19 config SAMPLE_TRACE_CUSTOM_EVENTS
20         tristate "Build custom trace event example -- loadable modules only"
21         depends on EVENT_TRACING && m
22         help
23           This builds the custom trace event example module.
24
25 config SAMPLE_TRACE_PRINTK
26         tristate "Build trace_printk module - tests various trace_printk formats"
27         depends on EVENT_TRACING && m
28         help
29          This builds a module that calls trace_printk() and can be used to
30          test various trace_printk() calls from a module.
31
32 config SAMPLE_FTRACE_DIRECT
33         tristate "Build register_ftrace_direct() example"
34         depends on DYNAMIC_FTRACE_WITH_DIRECT_CALLS && m
35         depends on HAVE_SAMPLE_FTRACE_DIRECT
36         help
37           This builds an ftrace direct function example
38           that hooks to wake_up_process and prints the parameters.
39
40 config SAMPLE_FTRACE_DIRECT_MULTI
41         tristate "Build register_ftrace_direct() on multiple ips example"
42         depends on DYNAMIC_FTRACE_WITH_DIRECT_CALLS && m
43         depends on HAVE_SAMPLE_FTRACE_DIRECT_MULTI
44         help
45           This builds an ftrace direct function example
46           that hooks to wake_up_process and schedule, and prints
47           the function addresses.
48
49 config SAMPLE_FTRACE_OPS
50         tristate "Build custom ftrace ops example"
51         depends on FUNCTION_TRACER
52         help
53           This builds an ftrace ops example that hooks two functions and
54           measures the time taken to invoke one function a number of times.
55
56 config SAMPLE_TRACE_ARRAY
57         tristate "Build sample module for kernel access to Ftrace instancess"
58         depends on EVENT_TRACING && m
59         help
60          This builds a module that demonstrates the use of various APIs to
61          access Ftrace instances from within the kernel.
62
63 config SAMPLE_KOBJECT
64         tristate "Build kobject examples"
65         help
66           This config option will allow you to build a number of
67           different kobject sample modules showing how to use kobjects,
68           ksets, and ktypes properly.
69
70           If in doubt, say "N" here.
71
72 config SAMPLE_KPROBES
73         tristate "Build kprobes examples -- loadable modules only"
74         depends on KPROBES && m
75         help
76           This build several kprobes example modules.
77
78 config SAMPLE_KRETPROBES
79         tristate "Build kretprobes example -- loadable modules only"
80         default m
81         depends on SAMPLE_KPROBES && KRETPROBES
82
83 config SAMPLE_HW_BREAKPOINT
84         tristate "Build kernel hardware breakpoint examples -- loadable module only"
85         depends on HAVE_HW_BREAKPOINT && m
86         help
87           This builds kernel hardware breakpoint example modules.
88
89 config SAMPLE_FPROBE
90         tristate "Build fprobe examples -- loadable modules only"
91         depends on FPROBE && m
92         help
93           This builds a fprobe example module. This module has an option 'symbol'.
94           You can specify a probed symbol or symbols separated with ','.
95
96 config SAMPLE_KFIFO
97         tristate "Build kfifo examples -- loadable modules only"
98         depends on m
99         help
100           This config option will allow you to build a number of
101           different kfifo sample modules showing how to use the
102           generic kfifo API.
103
104           If in doubt, say "N" here.
105
106 config SAMPLE_KDB
107         tristate "Build kdb command example -- loadable modules only"
108         depends on KGDB_KDB && m
109         help
110           Build an example of how to dynamically add the hello
111           command to the kdb shell.
112
113 config SAMPLE_QMI_CLIENT
114         tristate "Build qmi client sample -- loadable modules only"
115         depends on m
116         depends on ARCH_QCOM
117         depends on NET
118         select QCOM_QMI_HELPERS
119         help
120           Build an QMI client sample driver, which demonstrates how to
121           communicate with a remote QRTR service, using QMI encoded messages.
122
123 config SAMPLE_RPMSG_CLIENT
124         tristate "Build rpmsg client sample -- loadable modules only"
125         depends on RPMSG && m
126         help
127           Build an rpmsg client sample driver, which demonstrates how
128           to communicate with an AMP-configured remote processor over
129           the rpmsg bus.
130
131 config SAMPLE_LIVEPATCH
132         tristate "Build live patching samples -- loadable modules only"
133         depends on LIVEPATCH && m
134         help
135           Build sample live patch demonstrations.
136
137 config SAMPLE_CONFIGFS
138         tristate "Build configfs patching sample -- loadable modules only"
139         depends on CONFIGFS_FS && m
140         help
141           Builds a sample configfs interface.
142
143 config SAMPLE_CONNECTOR
144         tristate "Build connector sample -- loadable modules only"
145         depends on CONNECTOR && HEADERS_INSTALL && m
146         help
147           When enabled, this builds both a sample kernel module for
148           the connector interface and a user space tool to communicate
149           with it.
150           See also Documentation/driver-api/connector.rst
151
152 config SAMPLE_FANOTIFY_ERROR
153         bool "Build fanotify error monitoring sample"
154         depends on FANOTIFY && CC_CAN_LINK && HEADERS_INSTALL
155         help
156           When enabled, this builds an example code that uses the
157           FAN_FS_ERROR fanotify mechanism to monitor filesystem
158           errors.
159           See also Documentation/admin-guide/filesystem-monitoring.rst.
160
161 config SAMPLE_HIDRAW
162         bool "hidraw sample"
163         depends on CC_CAN_LINK && HEADERS_INSTALL
164
165 config SAMPLE_LANDLOCK
166         bool "Landlock example"
167         depends on CC_CAN_LINK && HEADERS_INSTALL
168         help
169           Build a simple Landlock sandbox manager able to start a process
170           restricted by a user-defined filesystem access control policy.
171
172 config SAMPLE_PIDFD
173         bool "pidfd sample"
174         depends on CC_CAN_LINK && HEADERS_INSTALL
175
176 config SAMPLE_SECCOMP
177         bool "Build seccomp sample code"
178         depends on SECCOMP_FILTER && CC_CAN_LINK && HEADERS_INSTALL
179         help
180           Build samples of seccomp filters using various methods of
181           BPF filter construction.
182
183 config SAMPLE_TIMER
184         bool "Timer sample"
185         depends on CC_CAN_LINK && HEADERS_INSTALL
186
187 config SAMPLE_UHID
188         bool "UHID sample"
189         depends on CC_CAN_LINK && HEADERS_INSTALL
190         help
191           Build UHID sample program.
192
193 config SAMPLE_VFIO_MDEV_MTTY
194         tristate "Build VFIO mtty example mediated device sample code"
195         depends on VFIO
196         select VFIO_MDEV
197         help
198           Build a virtual tty sample driver for use as a VFIO
199           mediated device
200
201 config SAMPLE_VFIO_MDEV_MDPY
202         tristate "Build VFIO mdpy example mediated device sample code"
203         depends on VFIO
204         select VFIO_MDEV
205         help
206           Build a virtual display sample driver for use as a VFIO
207           mediated device.  It is a simple framebuffer and supports
208           the region display interface (VFIO_GFX_PLANE_TYPE_REGION).
209
210 config SAMPLE_VFIO_MDEV_MDPY_FB
211         tristate "Build VFIO mdpy example guest fbdev driver"
212         depends on FB
213         select FB_CFB_FILLRECT
214         select FB_CFB_COPYAREA
215         select FB_CFB_IMAGEBLIT
216         help
217           Guest fbdev driver for the virtual display sample driver.
218
219 config SAMPLE_VFIO_MDEV_MBOCHS
220         tristate "Build VFIO mbochs example mediated device sample code"
221         depends on VFIO
222         select VFIO_MDEV
223         select DMA_SHARED_BUFFER
224         help
225           Build a virtual display sample driver for use as a VFIO
226           mediated device.  It supports the region display interface
227           (VFIO_GFX_PLANE_TYPE_DMABUF).
228           Emulate enough of qemu stdvga to make bochs-drm.ko happy.
229           That is basically the vram memory bar and the bochs dispi
230           interface vbe registers in the mmio register bar.
231           Specifically it does *not* include any legacy vga stuff.
232           Device looks a lot like "qemu -device secondary-vga".
233
234 config SAMPLE_ANDROID_BINDERFS
235         bool "Build Android binderfs example"
236         depends on CC_CAN_LINK && HEADERS_INSTALL
237         help
238           Builds a sample program to illustrate the use of the Android binderfs
239           filesystem.
240
241 config SAMPLE_VFS
242         bool "Build example programs that use new VFS system calls"
243         depends on CC_CAN_LINK && HEADERS_INSTALL
244         help
245           Build example userspace programs that use new VFS system calls such
246           as mount API and statx().  Note that this is restricted to the x86
247           arch whilst it accesses system calls that aren't yet in all arches.
248
249 config SAMPLE_INTEL_MEI
250         bool "Build example program working with intel mei driver"
251         depends on INTEL_MEI
252         depends on CC_CAN_LINK && HEADERS_INSTALL
253         help
254           Build a sample program to work with mei device.
255
256 config SAMPLE_WATCHDOG
257         bool "watchdog sample"
258         depends on CC_CAN_LINK
259
260 config SAMPLE_WATCH_QUEUE
261         bool "Build example watch_queue notification API consumer"
262         depends on CC_CAN_LINK && HEADERS_INSTALL
263         help
264           Build example userspace program to use the new mount_notify(),
265           sb_notify() syscalls and the KEYCTL_WATCH_KEY keyctl() function.
266
267 config SAMPLE_CORESIGHT_SYSCFG
268         tristate "Build example loadable module for CoreSight config"
269         depends on CORESIGHT && m
270         help
271           Build an example loadable module that adds new CoreSight features
272           and configuration using the CoreSight system configuration API.
273           This demonstrates how a user may create their own CoreSight
274           configurations and easily load them into the system at runtime.
275
276 config SAMPLE_KMEMLEAK
277         tristate "Simple test for the kernel memory leak detector"
278         depends on DEBUG_KMEMLEAK && m
279         help
280           Build a sample program which have explicitly leaks memory to test
281           kmemleak
282
283 source "samples/rust/Kconfig"
284
285 endif # SAMPLES
286
287 config HAVE_SAMPLE_FTRACE_DIRECT
288         bool
289
290 config HAVE_SAMPLE_FTRACE_DIRECT_MULTI
291         bool