1 # SPDX-License-Identifier: GPL-2.0-only
3 bool "Sample kernel code"
5 You can build and test sample kernel code here.
9 config SAMPLE_AUXDISPLAY
10 bool "auxdisplay sample"
11 depends on CC_CAN_LINK
13 config SAMPLE_TRACE_EVENTS
14 tristate "Build trace_events examples -- loadable modules only"
15 depends on EVENT_TRACING && m
17 This build trace event example modules.
19 config SAMPLE_TRACE_PRINTK
20 tristate "Build trace_printk module - tests various trace_printk formats"
21 depends on EVENT_TRACING && m
23 This builds a module that calls trace_printk() and can be used to
24 test various trace_printk() calls from a module.
26 config SAMPLE_FTRACE_DIRECT
27 tristate "Build register_ftrace_direct() example"
28 depends on DYNAMIC_FTRACE_WITH_DIRECT_CALLS && m
29 depends on HAVE_SAMPLE_FTRACE_DIRECT
31 This builds an ftrace direct function example
32 that hooks to wake_up_process and prints the parameters.
34 config SAMPLE_FTRACE_DIRECT_MULTI
35 tristate "Build register_ftrace_direct_multi() example"
36 depends on DYNAMIC_FTRACE_WITH_DIRECT_CALLS && m
37 depends on HAVE_SAMPLE_FTRACE_DIRECT_MULTI
39 This builds an ftrace direct function example
40 that hooks to wake_up_process and schedule, and prints
41 the function addresses.
43 config SAMPLE_TRACE_ARRAY
44 tristate "Build sample module for kernel access to Ftrace instancess"
45 depends on EVENT_TRACING && m
47 This builds a module that demonstrates the use of various APIs to
48 access Ftrace instances from within the kernel.
51 tristate "Build kobject examples"
53 This config option will allow you to build a number of
54 different kobject sample modules showing how to use kobjects,
55 ksets, and ktypes properly.
57 If in doubt, say "N" here.
60 tristate "Build kprobes examples -- loadable modules only"
61 depends on KPROBES && m
63 This build several kprobes example modules.
65 config SAMPLE_KRETPROBES
66 tristate "Build kretprobes example -- loadable modules only"
68 depends on SAMPLE_KPROBES && KRETPROBES
70 config SAMPLE_HW_BREAKPOINT
71 tristate "Build kernel hardware breakpoint examples -- loadable module only"
72 depends on HAVE_HW_BREAKPOINT && m
74 This builds kernel hardware breakpoint example modules.
77 tristate "Build kfifo examples -- loadable modules only"
80 This config option will allow you to build a number of
81 different kfifo sample modules showing how to use the
84 If in doubt, say "N" here.
87 tristate "Build kdb command example -- loadable modules only"
88 depends on KGDB_KDB && m
90 Build an example of how to dynamically add the hello
91 command to the kdb shell.
93 config SAMPLE_QMI_CLIENT
94 tristate "Build qmi client sample -- loadable modules only"
98 select QCOM_QMI_HELPERS
100 Build an QMI client sample driver, which demonstrates how to
101 communicate with a remote QRTR service, using QMI encoded messages.
103 config SAMPLE_RPMSG_CLIENT
104 tristate "Build rpmsg client sample -- loadable modules only"
105 depends on RPMSG && m
107 Build an rpmsg client sample driver, which demonstrates how
108 to communicate with an AMP-configured remote processor over
111 config SAMPLE_LIVEPATCH
112 tristate "Build live patching samples -- loadable modules only"
113 depends on LIVEPATCH && m
115 Build sample live patch demonstrations.
117 config SAMPLE_CONFIGFS
118 tristate "Build configfs patching sample -- loadable modules only"
119 depends on CONFIGFS_FS && m
121 Builds a sample configfs interface.
123 config SAMPLE_CONNECTOR
124 tristate "Build connector sample -- loadable modules only"
125 depends on CONNECTOR && HEADERS_INSTALL && m
127 When enabled, this builds both a sample kernel module for
128 the connector interface and a user space tool to communicate
130 See also Documentation/driver-api/connector.rst
132 config SAMPLE_FANOTIFY_ERROR
133 bool "Build fanotify error monitoring sample"
134 depends on FANOTIFY && CC_CAN_LINK && HEADERS_INSTALL
136 When enabled, this builds an example code that uses the
137 FAN_FS_ERROR fanotify mechanism to monitor filesystem
139 See also Documentation/admin-guide/filesystem-monitoring.rst.
143 depends on CC_CAN_LINK && HEADERS_INSTALL
145 config SAMPLE_LANDLOCK
146 bool "Landlock example"
147 depends on CC_CAN_LINK && HEADERS_INSTALL
149 Build a simple Landlock sandbox manager able to start a process
150 restricted by a user-defined filesystem access control policy.
154 depends on CC_CAN_LINK && HEADERS_INSTALL
156 config SAMPLE_SECCOMP
157 bool "Build seccomp sample code"
158 depends on SECCOMP_FILTER && CC_CAN_LINK && HEADERS_INSTALL
160 Build samples of seccomp filters using various methods of
161 BPF filter construction.
165 depends on CC_CAN_LINK && HEADERS_INSTALL
169 depends on CC_CAN_LINK && HEADERS_INSTALL
171 Build UHID sample program.
173 config SAMPLE_VFIO_MDEV_MTTY
174 tristate "Build VFIO mtty example mediated device sample code -- loadable modules only"
175 depends on VFIO_MDEV && m
177 Build a virtual tty sample driver for use as a VFIO
180 config SAMPLE_VFIO_MDEV_MDPY
181 tristate "Build VFIO mdpy example mediated device sample code -- loadable modules only"
182 depends on VFIO_MDEV && m
184 Build a virtual display sample driver for use as a VFIO
185 mediated device. It is a simple framebuffer and supports
186 the region display interface (VFIO_GFX_PLANE_TYPE_REGION).
188 config SAMPLE_VFIO_MDEV_MDPY_FB
189 tristate "Build VFIO mdpy example guest fbdev driver -- loadable module only"
191 select FB_CFB_FILLRECT
192 select FB_CFB_COPYAREA
193 select FB_CFB_IMAGEBLIT
195 Guest fbdev driver for the virtual display sample driver.
197 config SAMPLE_VFIO_MDEV_MBOCHS
198 tristate "Build VFIO mdpy example mediated device sample code -- loadable modules only"
199 depends on VFIO_MDEV && m
200 select DMA_SHARED_BUFFER
202 Build a virtual display sample driver for use as a VFIO
203 mediated device. It supports the region display interface
204 (VFIO_GFX_PLANE_TYPE_DMABUF).
205 Emulate enough of qemu stdvga to make bochs-drm.ko happy.
206 That is basically the vram memory bar and the bochs dispi
207 interface vbe registers in the mmio register bar.
208 Specifically it does *not* include any legacy vga stuff.
209 Device looks a lot like "qemu -device secondary-vga".
211 config SAMPLE_ANDROID_BINDERFS
212 bool "Build Android binderfs example"
213 depends on CC_CAN_LINK && HEADERS_INSTALL
215 Builds a sample program to illustrate the use of the Android binderfs
219 bool "Build example programs that use new VFS system calls"
220 depends on CC_CAN_LINK && HEADERS_INSTALL
222 Build example userspace programs that use new VFS system calls such
223 as mount API and statx(). Note that this is restricted to the x86
224 arch whilst it accesses system calls that aren't yet in all arches.
226 config SAMPLE_INTEL_MEI
227 bool "Build example program working with intel mei driver"
229 depends on CC_CAN_LINK && HEADERS_INSTALL
231 Build a sample program to work with mei device.
233 config SAMPLE_WATCHDOG
234 bool "watchdog sample"
235 depends on CC_CAN_LINK
237 config SAMPLE_WATCH_QUEUE
238 bool "Build example watch_queue notification API consumer"
239 depends on CC_CAN_LINK && HEADERS_INSTALL
241 Build example userspace program to use the new mount_notify(),
242 sb_notify() syscalls and the KEYCTL_WATCH_KEY keyctl() function.
246 config HAVE_SAMPLE_FTRACE_DIRECT
249 config HAVE_SAMPLE_FTRACE_DIRECT_MULTI