blob: c8dacb4dda80c0d44548e81391bd4a65f276048b [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
Greg Kroah-Hartman40efcb02007-11-27 11:28:26 -080022config SAMPLE_KOBJECT
Masahiro Yamadae7e34912019-04-27 12:33:40 +090023 tristate "Build kobject examples"
Greg Kroah-Hartman40efcb02007-11-27 11:28:26 -080024 help
25 This config option will allow you to build a number of
26 different kobject sample modules showing how to use kobjects,
27 ksets, and ktypes properly.
28
29 If in doubt, say "N" here.
30
Ananth N Mavinakayanahalli804defe2008-03-04 14:28:38 -080031config SAMPLE_KPROBES
32 tristate "Build kprobes examples -- loadable modules only"
33 depends on KPROBES && m
34 help
35 This build several kprobes example modules.
36
37config SAMPLE_KRETPROBES
38 tristate "Build kretprobes example -- loadable modules only"
39 default m
40 depends on SAMPLE_KPROBES && KRETPROBES
41
K.Prasad43203992009-06-01 23:46:20 +053042config SAMPLE_HW_BREAKPOINT
43 tristate "Build kernel hardware breakpoint examples -- loadable module only"
44 depends on HAVE_HW_BREAKPOINT && m
45 help
46 This builds kernel hardware breakpoint example modules.
47
Stefani Seibold5bf2b192010-08-10 18:03:39 -070048config SAMPLE_KFIFO
49 tristate "Build kfifo examples -- loadable modules only"
50 depends on m
51 help
52 This config option will allow you to build a number of
53 different kfifo sample modules showing how to use the
54 generic kfifo API.
55
56 If in doubt, say "N" here.
57
Jason Wessel4aad8f52010-10-25 10:14:05 -050058config SAMPLE_KDB
Lucas De Marchi25985ed2011-03-30 22:57:33 -030059 tristate "Build kdb command example -- loadable modules only"
Jason Wessel4aad8f52010-10-25 10:14:05 -050060 depends on KGDB_KDB && m
61 help
62 Build an example of how to dynamically add the hello
63 command to the kdb shell.
64
Bjorn Andersson842891b2017-06-26 09:02:28 -070065config SAMPLE_QMI_CLIENT
66 tristate "Build qmi client sample -- loadable modules only"
67 depends on m
68 depends on ARCH_QCOM
Arnd Bergmanndea4bd12018-02-22 16:57:38 +010069 depends on NET
Bjorn Andersson842891b2017-06-26 09:02:28 -070070 select QCOM_QMI_HELPERS
71 help
72 Build an QMI client sample driver, which demonstrates how to
73 communicate with a remote QRTR service, using QMI encoded messages.
74
Ohad Ben-Cohen779b96d2011-10-20 21:41:24 +020075config SAMPLE_RPMSG_CLIENT
76 tristate "Build rpmsg client sample -- loadable modules only"
77 depends on RPMSG && m
78 help
79 Build an rpmsg client sample driver, which demonstrates how
80 to communicate with an AMP-configured remote processor over
81 the rpmsg bus.
82
Josh Poimboeuf12cf89b2015-02-03 16:45:18 -060083config SAMPLE_LIVEPATCH
Joe Lawrence439e7272017-08-31 16:37:41 -040084 tristate "Build live patching samples -- loadable modules only"
Josh Poimboeuf12cf89b2015-02-03 16:45:18 -060085 depends on LIVEPATCH && m
Seth Jennings13d1cf72014-12-16 11:58:20 -060086 help
Joe Lawrence439e7272017-08-31 16:37:41 -040087 Build sample live patch demonstrations.
Seth Jennings13d1cf72014-12-16 11:58:20 -060088
Christoph Hellwig51798222015-10-03 15:32:59 +020089config SAMPLE_CONFIGFS
90 tristate "Build configfs patching sample -- loadable modules only"
91 depends on CONFIGFS_FS && m
92 help
93 Builds a sample configfs interface.
94
Arnd Bergmann14fbff62016-04-25 18:03:08 +020095config SAMPLE_CONNECTOR
96 tristate "Build connector sample -- loadable modules only"
Masahiro Yamadae949f4c2019-06-04 19:13:59 +090097 depends on CONNECTOR && HEADERS_INSTALL && m
Arnd Bergmann14fbff62016-04-25 18:03:08 +020098 help
99 When enabled, this builds both a sample kernel module for
100 the connector interface and a user space tool to communicate
101 with it.
Mauro Carvalho Chehabbaa293e2019-06-27 15:39:22 -0300102 See also Documentation/driver-api/connector.rst
Arnd Bergmann14fbff62016-04-25 18:03:08 +0200103
Masahiro Yamadae949f4c2019-06-04 19:13:59 +0900104config SAMPLE_HIDRAW
105 bool "hidraw sample"
106 depends on HEADERS_INSTALL
107
108config SAMPLE_PIDFD
109 bool "pidfd sample"
110 depends on HEADERS_INSTALL
111
Olof Johanssonf6041c12016-07-05 23:53:19 -0700112config SAMPLE_SECCOMP
Masahiro Yamada7206c122019-04-27 12:33:39 +0900113 bool "Build seccomp sample code"
Masahiro Yamadae949f4c2019-06-04 19:13:59 +0900114 depends on SECCOMP_FILTER && HEADERS_INSTALL
Olof Johanssonf6041c12016-07-05 23:53:19 -0700115 help
116 Build samples of seccomp filters using various methods of
117 BPF filter construction.
118
Alex Williamson08c1a4e2016-12-30 08:13:30 -0700119config SAMPLE_VFIO_MDEV_MTTY
120 tristate "Build VFIO mtty example mediated device sample code -- loadable modules only"
121 depends on VFIO_MDEV_DEVICE && m
122 help
123 Build a virtual tty sample driver for use as a VFIO
124 mediated device
125
Gerd Hoffmannd61fc962018-05-11 09:05:03 -0600126config SAMPLE_VFIO_MDEV_MDPY
127 tristate "Build VFIO mdpy example mediated device sample code -- loadable modules only"
128 depends on VFIO_MDEV_DEVICE && m
129 help
130 Build a virtual display sample driver for use as a VFIO
131 mediated device. It is a simple framebuffer and supports
132 the region display interface (VFIO_GFX_PLANE_TYPE_REGION).
133
Gerd Hoffmanncacade12018-05-11 09:05:04 -0600134config SAMPLE_VFIO_MDEV_MDPY_FB
135 tristate "Build VFIO mdpy example guest fbdev driver -- loadable module only"
136 depends on FB && m
137 select FB_CFB_FILLRECT
138 select FB_CFB_COPYAREA
139 select FB_CFB_IMAGEBLIT
140 help
141 Guest fbdev driver for the virtual display sample driver.
142
Gerd Hoffmanna5e6e652018-05-11 09:05:04 -0600143config SAMPLE_VFIO_MDEV_MBOCHS
144 tristate "Build VFIO mdpy example mediated device sample code -- loadable modules only"
145 depends on VFIO_MDEV_DEVICE && m
Arnd Bergmannc1abca92018-05-30 23:37:31 +0200146 select DMA_SHARED_BUFFER
Gerd Hoffmanna5e6e652018-05-11 09:05:04 -0600147 help
148 Build a virtual display sample driver for use as a VFIO
149 mediated device. It supports the region display interface
150 (VFIO_GFX_PLANE_TYPE_DMABUF).
151 Emulate enough of qemu stdvga to make bochs-drm.ko happy.
152 That is basically the vram memory bar and the bochs dispi
153 interface vbe registers in the mmio register bar.
154 Specifically it does *not* include any legacy vga stuff.
155 Device looks a lot like "qemu -device secondary-vga".
156
Christian Brauner9762dc12019-01-11 14:41:00 +0100157config SAMPLE_ANDROID_BINDERFS
158 bool "Build Android binderfs example"
159 depends on CONFIG_ANDROID_BINDERFS
160 help
161 Builds a sample program to illustrate the use of the Android binderfs
162 filesystem.
163
David Howellsf1b56182018-11-01 23:36:32 +0000164config SAMPLE_VFS
165 bool "Build example programs that use new VFS system calls"
Masahiro Yamadae949f4c2019-06-04 19:13:59 +0900166 depends on HEADERS_INSTALL
David Howellsa528d352017-01-31 16:46:22 +0000167 help
David Howellsf1b56182018-11-01 23:36:32 +0000168 Build example userspace programs that use new VFS system calls such
169 as mount API and statx(). Note that this is restricted to the x86
170 arch whilst it accesses system calls that aren't yet in all arches.
David Howellsa528d352017-01-31 16:46:22 +0000171
Mathieu Desnoyers267c4022007-10-18 23:41:07 -0700172endif # SAMPLES