blob: 2560e87c9cae67772e83682fb3878c2e06490d07 [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Mathieu Desnoyers267c4022007-10-18 23:41:07 -07002menuconfig SAMPLES
3 bool "Sample kernel code"
4 help
5 You can build and test sample kernel code here.
6
7if SAMPLES
8
Steven Rostedt9cfe06f2009-04-14 21:37:03 -04009config SAMPLE_TRACE_EVENTS
Li Zefan96d17982009-05-06 10:32:32 +080010 tristate "Build trace_events examples -- loadable modules only"
11 depends on EVENT_TRACING && m
Steven Rostedt9cfe06f2009-04-14 21:37:03 -040012 help
13 This build trace event example modules.
14
Steven Rostedt (Red Hat)aad108a2016-06-17 14:50:23 -040015config 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
Steven Rostedt (VMware)b06457c2019-11-08 13:12:33 -050022config 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
Divya Indi89ed4242019-11-20 11:08:39 -080030config 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
Greg Kroah-Hartman40efcb02007-11-27 11:28:26 -080037config SAMPLE_KOBJECT
Masahiro Yamadae7e34912019-04-27 12:33:40 +090038 tristate "Build kobject examples"
Greg Kroah-Hartman40efcb02007-11-27 11:28:26 -080039 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
Ananth N Mavinakayanahalli804defe2008-03-04 14:28:38 -080046config 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
K.Prasad43203992009-06-01 23:46:20 +053057config 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
Stefani Seibold5bf2b192010-08-10 18:03:39 -070063config 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
Jason Wessel4aad8f52010-10-25 10:14:05 -050073config SAMPLE_KDB
Lucas De Marchi25985ed2011-03-30 22:57:33 -030074 tristate "Build kdb command example -- loadable modules only"
Jason Wessel4aad8f52010-10-25 10:14:05 -050075 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
Bjorn Andersson842891b2017-06-26 09:02:28 -070080config SAMPLE_QMI_CLIENT
81 tristate "Build qmi client sample -- loadable modules only"
82 depends on m
83 depends on ARCH_QCOM
Arnd Bergmanndea4bd12018-02-22 16:57:38 +010084 depends on NET
Bjorn Andersson842891b2017-06-26 09:02:28 -070085 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
Ohad Ben-Cohen779b96d2011-10-20 21:41:24 +020090config 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
Josh Poimboeuf12cf89b2015-02-03 16:45:18 -060098config SAMPLE_LIVEPATCH
Joe Lawrence439e7272017-08-31 16:37:41 -040099 tristate "Build live patching samples -- loadable modules only"
Josh Poimboeuf12cf89b2015-02-03 16:45:18 -0600100 depends on LIVEPATCH && m
Seth Jennings13d1cf72014-12-16 11:58:20 -0600101 help
Joe Lawrence439e7272017-08-31 16:37:41 -0400102 Build sample live patch demonstrations.
Seth Jennings13d1cf72014-12-16 11:58:20 -0600103
Christoph Hellwig51798222015-10-03 15:32:59 +0200104config 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
Arnd Bergmann14fbff62016-04-25 18:03:08 +0200110config SAMPLE_CONNECTOR
111 tristate "Build connector sample -- loadable modules only"
Masahiro Yamadae949f4c2019-06-04 19:13:59 +0900112 depends on CONNECTOR && HEADERS_INSTALL && m
Arnd Bergmann14fbff62016-04-25 18:03:08 +0200113 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.
Mauro Carvalho Chehabbaa293e2019-06-27 15:39:22 -0300117 See also Documentation/driver-api/connector.rst
Arnd Bergmann14fbff62016-04-25 18:03:08 +0200118
Masahiro Yamadae949f4c2019-06-04 19:13:59 +0900119config 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
Olof Johanssonf6041c12016-07-05 23:53:19 -0700127config SAMPLE_SECCOMP
Masahiro Yamada7206c122019-04-27 12:33:39 +0900128 bool "Build seccomp sample code"
Masahiro Yamadaf59e7662020-04-29 12:45:16 +0900129 depends on SECCOMP_FILTER && CC_CAN_LINK && HEADERS_INSTALL
Olof Johanssonf6041c12016-07-05 23:53:19 -0700130 help
131 Build samples of seccomp filters using various methods of
132 BPF filter construction.
133
Masahiro Yamada87ecdf42020-04-29 12:45:19 +0900134config SAMPLE_UHID
135 bool "UHID sample"
136 depends on CC_CAN_LINK && HEADERS_INSTALL
137 help
138 Build UHID sample program.
139
Alex Williamson08c1a4e2016-12-30 08:13:30 -0700140config SAMPLE_VFIO_MDEV_MTTY
141 tristate "Build VFIO mtty example mediated device sample code -- loadable modules only"
142 depends on VFIO_MDEV_DEVICE && m
143 help
144 Build a virtual tty sample driver for use as a VFIO
145 mediated device
146
Gerd Hoffmannd61fc96f2018-05-11 09:05:03 -0600147config SAMPLE_VFIO_MDEV_MDPY
148 tristate "Build VFIO mdpy example mediated device sample code -- loadable modules only"
149 depends on VFIO_MDEV_DEVICE && m
150 help
151 Build a virtual display sample driver for use as a VFIO
152 mediated device. It is a simple framebuffer and supports
153 the region display interface (VFIO_GFX_PLANE_TYPE_REGION).
154
Gerd Hoffmanncacade12018-05-11 09:05:04 -0600155config SAMPLE_VFIO_MDEV_MDPY_FB
156 tristate "Build VFIO mdpy example guest fbdev driver -- loadable module only"
157 depends on FB && m
158 select FB_CFB_FILLRECT
159 select FB_CFB_COPYAREA
160 select FB_CFB_IMAGEBLIT
161 help
162 Guest fbdev driver for the virtual display sample driver.
163
Gerd Hoffmanna5e6e652018-05-11 09:05:04 -0600164config SAMPLE_VFIO_MDEV_MBOCHS
165 tristate "Build VFIO mdpy example mediated device sample code -- loadable modules only"
166 depends on VFIO_MDEV_DEVICE && m
Arnd Bergmannc1abca92018-05-30 23:37:31 +0200167 select DMA_SHARED_BUFFER
Gerd Hoffmanna5e6e652018-05-11 09:05:04 -0600168 help
169 Build a virtual display sample driver for use as a VFIO
170 mediated device. It supports the region display interface
171 (VFIO_GFX_PLANE_TYPE_DMABUF).
172 Emulate enough of qemu stdvga to make bochs-drm.ko happy.
173 That is basically the vram memory bar and the bochs dispi
174 interface vbe registers in the mmio register bar.
175 Specifically it does *not* include any legacy vga stuff.
176 Device looks a lot like "qemu -device secondary-vga".
177
Christian Brauner9762dc12019-01-11 14:41:00 +0100178config SAMPLE_ANDROID_BINDERFS
179 bool "Build Android binderfs example"
180 depends on CONFIG_ANDROID_BINDERFS
181 help
182 Builds a sample program to illustrate the use of the Android binderfs
183 filesystem.
184
David Howellsf1b56182018-11-01 23:36:32 +0000185config SAMPLE_VFS
186 bool "Build example programs that use new VFS system calls"
Masahiro Yamadae949f4c2019-06-04 19:13:59 +0900187 depends on HEADERS_INSTALL
David Howellsa528d352017-01-31 16:46:22 +0000188 help
David Howellsf1b56182018-11-01 23:36:32 +0000189 Build example userspace programs that use new VFS system calls such
190 as mount API and statx(). Note that this is restricted to the x86
191 arch whilst it accesses system calls that aren't yet in all arches.
David Howellsa528d352017-01-31 16:46:22 +0000192
Tomas Winkler6859eba2019-10-10 16:27:10 +0300193config SAMPLE_INTEL_MEI
194 bool "Build example program working with intel mei driver"
195 depends on INTEL_MEI
196 help
197 Build a sample program to work with mei device.
198
199
Mathieu Desnoyers267c4022007-10-18 23:41:07 -0700200endif # SAMPLES