Merge branch 'work.namei' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[platform/kernel/linux-rpi.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 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
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
41 config SAMPLE_KOBJECT
42         tristate "Build kobject examples"
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
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
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
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
77 config SAMPLE_KDB
78         tristate "Build kdb command example -- loadable modules only"
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
84 config SAMPLE_QMI_CLIENT
85         tristate "Build qmi client sample -- loadable modules only"
86         depends on m
87         depends on ARCH_QCOM
88         depends on NET
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
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
102 config SAMPLE_LIVEPATCH
103         tristate "Build live patching samples -- loadable modules only"
104         depends on LIVEPATCH && m
105         help
106           Build sample live patch demonstrations.
107
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
114 config SAMPLE_CONNECTOR
115         tristate "Build connector sample -- loadable modules only"
116         depends on CONNECTOR && HEADERS_INSTALL && m
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.
121           See also Documentation/driver-api/connector.rst
122
123 config SAMPLE_HIDRAW
124         bool "hidraw sample"
125         depends on CC_CAN_LINK && HEADERS_INSTALL
126
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
134 config SAMPLE_PIDFD
135         bool "pidfd sample"
136         depends on CC_CAN_LINK && HEADERS_INSTALL
137
138 config SAMPLE_SECCOMP
139         bool "Build seccomp sample code"
140         depends on SECCOMP_FILTER && CC_CAN_LINK && HEADERS_INSTALL
141         help
142           Build samples of seccomp filters using various methods of
143           BPF filter construction.
144
145 config SAMPLE_TIMER
146         bool "Timer sample"
147         depends on CC_CAN_LINK && HEADERS_INSTALL
148
149 config SAMPLE_UHID
150         bool "UHID sample"
151         depends on CC_CAN_LINK && HEADERS_INSTALL
152         help
153           Build UHID sample program.
154
155 config SAMPLE_VFIO_MDEV_MTTY
156         tristate "Build VFIO mtty example mediated device sample code -- loadable modules only"
157         depends on VFIO_MDEV_DEVICE && m
158         help
159           Build a virtual tty sample driver for use as a VFIO
160           mediated device
161
162 config SAMPLE_VFIO_MDEV_MDPY
163         tristate "Build VFIO mdpy example mediated device sample code -- loadable modules only"
164         depends on VFIO_MDEV_DEVICE && m
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
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
179 config SAMPLE_VFIO_MDEV_MBOCHS
180         tristate "Build VFIO mdpy example mediated device sample code -- loadable modules only"
181         depends on VFIO_MDEV_DEVICE && m
182         select DMA_SHARED_BUFFER
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
193 config SAMPLE_ANDROID_BINDERFS
194         bool "Build Android binderfs example"
195         depends on CC_CAN_LINK && HEADERS_INSTALL
196         help
197           Builds a sample program to illustrate the use of the Android binderfs
198           filesystem.
199
200 config SAMPLE_VFS
201         bool "Build example programs that use new VFS system calls"
202         depends on CC_CAN_LINK && HEADERS_INSTALL
203         help
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.
207
208 config SAMPLE_INTEL_MEI
209         bool "Build example program working with intel mei driver"
210         depends on INTEL_MEI
211         depends on CC_CAN_LINK && HEADERS_INSTALL
212         help
213           Build a sample program to work with mei device.
214
215 config SAMPLE_WATCHDOG
216         bool "watchdog sample"
217         depends on CC_CAN_LINK
218
219 config SAMPLE_WATCH_QUEUE
220         bool "Build example watch_queue notification API consumer"
221         depends on CC_CAN_LINK && HEADERS_INSTALL
222         help
223           Build example userspace program to use the new mount_notify(),
224           sb_notify() syscalls and the KEYCTL_WATCH_KEY keyctl() function.
225
226 endif # SAMPLES