Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
[linux-2.6-microblaze.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 build trace event example modules.
18
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
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
30         help
31           This builds an ftrace direct function example
32           that hooks to wake_up_process and prints the parameters.
33
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
38         help
39           This builds an ftrace direct function example
40           that hooks to wake_up_process and schedule, and prints
41           the function addresses.
42
43 config SAMPLE_TRACE_ARRAY
44         tristate "Build sample module for kernel access to Ftrace instancess"
45         depends on EVENT_TRACING && m
46         help
47          This builds a module that demonstrates the use of various APIs to
48          access Ftrace instances from within the kernel.
49
50 config SAMPLE_KOBJECT
51         tristate "Build kobject examples"
52         help
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.
56
57           If in doubt, say "N" here.
58
59 config SAMPLE_KPROBES
60         tristate "Build kprobes examples -- loadable modules only"
61         depends on KPROBES && m
62         help
63           This build several kprobes example modules.
64
65 config SAMPLE_KRETPROBES
66         tristate "Build kretprobes example -- loadable modules only"
67         default m
68         depends on SAMPLE_KPROBES && KRETPROBES
69
70 config SAMPLE_HW_BREAKPOINT
71         tristate "Build kernel hardware breakpoint examples -- loadable module only"
72         depends on HAVE_HW_BREAKPOINT && m
73         help
74           This builds kernel hardware breakpoint example modules.
75
76 config SAMPLE_KFIFO
77         tristate "Build kfifo examples -- loadable modules only"
78         depends on m
79         help
80           This config option will allow you to build a number of
81           different kfifo sample modules showing how to use the
82           generic kfifo API.
83
84           If in doubt, say "N" here.
85
86 config SAMPLE_KDB
87         tristate "Build kdb command example -- loadable modules only"
88         depends on KGDB_KDB && m
89         help
90           Build an example of how to dynamically add the hello
91           command to the kdb shell.
92
93 config SAMPLE_QMI_CLIENT
94         tristate "Build qmi client sample -- loadable modules only"
95         depends on m
96         depends on ARCH_QCOM
97         depends on NET
98         select QCOM_QMI_HELPERS
99         help
100           Build an QMI client sample driver, which demonstrates how to
101           communicate with a remote QRTR service, using QMI encoded messages.
102
103 config SAMPLE_RPMSG_CLIENT
104         tristate "Build rpmsg client sample -- loadable modules only"
105         depends on RPMSG && m
106         help
107           Build an rpmsg client sample driver, which demonstrates how
108           to communicate with an AMP-configured remote processor over
109           the rpmsg bus.
110
111 config SAMPLE_LIVEPATCH
112         tristate "Build live patching samples -- loadable modules only"
113         depends on LIVEPATCH && m
114         help
115           Build sample live patch demonstrations.
116
117 config SAMPLE_CONFIGFS
118         tristate "Build configfs patching sample -- loadable modules only"
119         depends on CONFIGFS_FS && m
120         help
121           Builds a sample configfs interface.
122
123 config SAMPLE_CONNECTOR
124         tristate "Build connector sample -- loadable modules only"
125         depends on CONNECTOR && HEADERS_INSTALL && m
126         help
127           When enabled, this builds both a sample kernel module for
128           the connector interface and a user space tool to communicate
129           with it.
130           See also Documentation/driver-api/connector.rst
131
132 config SAMPLE_FANOTIFY_ERROR
133         bool "Build fanotify error monitoring sample"
134         depends on FANOTIFY && CC_CAN_LINK && HEADERS_INSTALL
135         help
136           When enabled, this builds an example code that uses the
137           FAN_FS_ERROR fanotify mechanism to monitor filesystem
138           errors.
139           See also Documentation/admin-guide/filesystem-monitoring.rst.
140
141 config SAMPLE_HIDRAW
142         bool "hidraw sample"
143         depends on CC_CAN_LINK && HEADERS_INSTALL
144
145 config SAMPLE_LANDLOCK
146         bool "Landlock example"
147         depends on CC_CAN_LINK && HEADERS_INSTALL
148         help
149           Build a simple Landlock sandbox manager able to start a process
150           restricted by a user-defined filesystem access control policy.
151
152 config SAMPLE_PIDFD
153         bool "pidfd sample"
154         depends on CC_CAN_LINK && HEADERS_INSTALL
155
156 config SAMPLE_SECCOMP
157         bool "Build seccomp sample code"
158         depends on SECCOMP_FILTER && CC_CAN_LINK && HEADERS_INSTALL
159         help
160           Build samples of seccomp filters using various methods of
161           BPF filter construction.
162
163 config SAMPLE_TIMER
164         bool "Timer sample"
165         depends on CC_CAN_LINK && HEADERS_INSTALL
166
167 config SAMPLE_UHID
168         bool "UHID sample"
169         depends on CC_CAN_LINK && HEADERS_INSTALL
170         help
171           Build UHID sample program.
172
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
176         help
177           Build a virtual tty sample driver for use as a VFIO
178           mediated device
179
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
183         help
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).
187
188 config SAMPLE_VFIO_MDEV_MDPY_FB
189         tristate "Build VFIO mdpy example guest fbdev driver -- loadable module only"
190         depends on FB && m
191         select FB_CFB_FILLRECT
192         select FB_CFB_COPYAREA
193         select FB_CFB_IMAGEBLIT
194         help
195           Guest fbdev driver for the virtual display sample driver.
196
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
201         help
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".
210
211 config SAMPLE_ANDROID_BINDERFS
212         bool "Build Android binderfs example"
213         depends on CC_CAN_LINK && HEADERS_INSTALL
214         help
215           Builds a sample program to illustrate the use of the Android binderfs
216           filesystem.
217
218 config SAMPLE_VFS
219         bool "Build example programs that use new VFS system calls"
220         depends on CC_CAN_LINK && HEADERS_INSTALL
221         help
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.
225
226 config SAMPLE_INTEL_MEI
227         bool "Build example program working with intel mei driver"
228         depends on INTEL_MEI
229         depends on CC_CAN_LINK && HEADERS_INSTALL
230         help
231           Build a sample program to work with mei device.
232
233 config SAMPLE_WATCHDOG
234         bool "watchdog sample"
235         depends on CC_CAN_LINK
236
237 config SAMPLE_WATCH_QUEUE
238         bool "Build example watch_queue notification API consumer"
239         depends on CC_CAN_LINK && HEADERS_INSTALL
240         help
241           Build example userspace program to use the new mount_notify(),
242           sb_notify() syscalls and the KEYCTL_WATCH_KEY keyctl() function.
243
244 config SAMPLE_CORESIGHT_SYSCFG
245         tristate "Build example loadable module for CoreSight config"
246         depends on CORESIGHT && m
247         help
248           Build an example loadable module that adds new CoreSight features
249           and configuration using the CoreSight system configuration API.
250           This demonstrates how a user may create their own CoreSight
251           configurations and easily load them into the system at runtime.
252
253 endif # SAMPLES
254
255 config HAVE_SAMPLE_FTRACE_DIRECT
256         bool
257
258 config HAVE_SAMPLE_FTRACE_DIRECT_MULTI
259         bool