xref: /linux/samples/Kconfig (revision 37744feebc086908fd89760650f458ab19071750)
1# SPDX-License-Identifier: GPL-2.0-only
2menuconfig SAMPLES
3	bool "Sample kernel code"
4	help
5	  You can build and test sample kernel code here.
6
7if SAMPLES
8
9config SAMPLE_TRACE_EVENTS
10	tristate "Build trace_events examples -- loadable modules only"
11	depends on EVENT_TRACING && m
12	help
13	  This build trace event example modules.
14
15config SAMPLE_TRACE_PRINTK
16        tristate "Build trace_printk module - tests various trace_printk formats"
17	depends on EVENT_TRACING && m
18	help
19	 This builds a module that calls trace_printk() and can be used to
20	 test various trace_printk() calls from a module.
21
22config SAMPLE_FTRACE_DIRECT
23	tristate "Build register_ftrace_direct() example"
24	depends on DYNAMIC_FTRACE_WITH_DIRECT_CALLS && m
25	depends on X86_64 # has x86_64 inlined asm
26	help
27	  This builds an ftrace direct function example
28	  that hooks to wake_up_process and prints the parameters.
29
30config SAMPLE_TRACE_ARRAY
31        tristate "Build sample module for kernel access to Ftrace instancess"
32	depends on EVENT_TRACING && m
33	help
34	 This builds a module that demonstrates the use of various APIs to
35	 access Ftrace instances from within the kernel.
36
37config SAMPLE_KOBJECT
38	tristate "Build kobject examples"
39	help
40	  This config option will allow you to build a number of
41	  different kobject sample modules showing how to use kobjects,
42	  ksets, and ktypes properly.
43
44	  If in doubt, say "N" here.
45
46config SAMPLE_KPROBES
47	tristate "Build kprobes examples -- loadable modules only"
48	depends on KPROBES && m
49	help
50	  This build several kprobes example modules.
51
52config SAMPLE_KRETPROBES
53	tristate "Build kretprobes example -- loadable modules only"
54	default m
55	depends on SAMPLE_KPROBES && KRETPROBES
56
57config SAMPLE_HW_BREAKPOINT
58	tristate "Build kernel hardware breakpoint examples -- loadable module only"
59	depends on HAVE_HW_BREAKPOINT && m
60	help
61	  This builds kernel hardware breakpoint example modules.
62
63config SAMPLE_KFIFO
64	tristate "Build kfifo examples -- loadable modules only"
65	depends on m
66	help
67	  This config option will allow you to build a number of
68	  different kfifo sample modules showing how to use the
69	  generic kfifo API.
70
71	  If in doubt, say "N" here.
72
73config SAMPLE_KDB
74	tristate "Build kdb command example -- loadable modules only"
75	depends on KGDB_KDB && m
76	help
77	  Build an example of how to dynamically add the hello
78	  command to the kdb shell.
79
80config SAMPLE_QMI_CLIENT
81	tristate "Build qmi client sample -- loadable modules only"
82	depends on m
83	depends on ARCH_QCOM
84	depends on NET
85	select QCOM_QMI_HELPERS
86	help
87	  Build an QMI client sample driver, which demonstrates how to
88	  communicate with a remote QRTR service, using QMI encoded messages.
89
90config SAMPLE_RPMSG_CLIENT
91	tristate "Build rpmsg client sample -- loadable modules only"
92	depends on RPMSG && m
93	help
94	  Build an rpmsg client sample driver, which demonstrates how
95	  to communicate with an AMP-configured remote processor over
96	  the rpmsg bus.
97
98config SAMPLE_LIVEPATCH
99	tristate "Build live patching samples -- loadable modules only"
100	depends on LIVEPATCH && m
101	help
102	  Build sample live patch demonstrations.
103
104config SAMPLE_CONFIGFS
105	tristate "Build configfs patching sample -- loadable modules only"
106	depends on CONFIGFS_FS && m
107	help
108	  Builds a sample configfs interface.
109
110config SAMPLE_CONNECTOR
111	tristate "Build connector sample -- loadable modules only"
112	depends on CONNECTOR && HEADERS_INSTALL && m
113	help
114	  When enabled, this builds both a sample kernel module for
115	  the connector interface and a user space tool to communicate
116	  with it.
117	  See also Documentation/driver-api/connector.rst
118
119config SAMPLE_HIDRAW
120	bool "hidraw sample"
121	depends on HEADERS_INSTALL
122
123config SAMPLE_PIDFD
124	bool "pidfd sample"
125	depends on HEADERS_INSTALL
126
127config SAMPLE_SECCOMP
128	bool "Build seccomp sample code"
129	depends on SECCOMP_FILTER && HEADERS_INSTALL
130	help
131	  Build samples of seccomp filters using various methods of
132	  BPF filter construction.
133
134config SAMPLE_VFIO_MDEV_MTTY
135	tristate "Build VFIO mtty example mediated device sample code -- loadable modules only"
136	depends on VFIO_MDEV_DEVICE && m
137	help
138	  Build a virtual tty sample driver for use as a VFIO
139	  mediated device
140
141config SAMPLE_VFIO_MDEV_MDPY
142	tristate "Build VFIO mdpy example mediated device sample code -- loadable modules only"
143	depends on VFIO_MDEV_DEVICE && m
144	help
145	  Build a virtual display sample driver for use as a VFIO
146	  mediated device.  It is a simple framebuffer and supports
147	  the region display interface (VFIO_GFX_PLANE_TYPE_REGION).
148
149config SAMPLE_VFIO_MDEV_MDPY_FB
150	tristate "Build VFIO mdpy example guest fbdev driver -- loadable module only"
151	depends on FB && m
152	select FB_CFB_FILLRECT
153	select FB_CFB_COPYAREA
154	select FB_CFB_IMAGEBLIT
155	help
156	  Guest fbdev driver for the virtual display sample driver.
157
158config SAMPLE_VFIO_MDEV_MBOCHS
159	tristate "Build VFIO mdpy example mediated device sample code -- loadable modules only"
160	depends on VFIO_MDEV_DEVICE && m
161	select DMA_SHARED_BUFFER
162	help
163	  Build a virtual display sample driver for use as a VFIO
164	  mediated device.  It supports the region display interface
165	  (VFIO_GFX_PLANE_TYPE_DMABUF).
166	  Emulate enough of qemu stdvga to make bochs-drm.ko happy.
167	  That is basically the vram memory bar and the bochs dispi
168	  interface vbe registers in the mmio register bar.
169	  Specifically it does *not* include any legacy vga stuff.
170	  Device looks a lot like "qemu -device secondary-vga".
171
172config SAMPLE_ANDROID_BINDERFS
173	bool "Build Android binderfs example"
174	depends on CONFIG_ANDROID_BINDERFS
175	help
176	  Builds a sample program to illustrate the use of the Android binderfs
177	  filesystem.
178
179config SAMPLE_VFS
180	bool "Build example programs that use new VFS system calls"
181	depends on HEADERS_INSTALL
182	help
183	  Build example userspace programs that use new VFS system calls such
184	  as mount API and statx().  Note that this is restricted to the x86
185	  arch whilst it accesses system calls that aren't yet in all arches.
186
187config SAMPLE_INTEL_MEI
188	bool "Build example program working with intel mei driver"
189	depends on INTEL_MEI
190	help
191	  Build a sample program to work with mei device.
192
193
194endif # SAMPLES
195