ftrace: Add sample module that uses register_ftrace_direct()
[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_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
15 config 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
22 config 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
30 config SAMPLE_KOBJECT
31         tristate "Build kobject examples"
32         help
33           This config option will allow you to build a number of
34           different kobject sample modules showing how to use kobjects,
35           ksets, and ktypes properly.
36
37           If in doubt, say "N" here.
38
39 config SAMPLE_KPROBES
40         tristate "Build kprobes examples -- loadable modules only"
41         depends on KPROBES && m
42         help
43           This build several kprobes example modules.
44
45 config SAMPLE_KRETPROBES
46         tristate "Build kretprobes example -- loadable modules only"
47         default m
48         depends on SAMPLE_KPROBES && KRETPROBES
49
50 config SAMPLE_HW_BREAKPOINT
51         tristate "Build kernel hardware breakpoint examples -- loadable module only"
52         depends on HAVE_HW_BREAKPOINT && m
53         help
54           This builds kernel hardware breakpoint example modules.
55
56 config SAMPLE_KFIFO
57         tristate "Build kfifo examples -- loadable modules only"
58         depends on m
59         help
60           This config option will allow you to build a number of
61           different kfifo sample modules showing how to use the
62           generic kfifo API.
63
64           If in doubt, say "N" here.
65
66 config SAMPLE_KDB
67         tristate "Build kdb command example -- loadable modules only"
68         depends on KGDB_KDB && m
69         help
70           Build an example of how to dynamically add the hello
71           command to the kdb shell.
72
73 config SAMPLE_QMI_CLIENT
74         tristate "Build qmi client sample -- loadable modules only"
75         depends on m
76         depends on ARCH_QCOM
77         depends on NET
78         select QCOM_QMI_HELPERS
79         help
80           Build an QMI client sample driver, which demonstrates how to
81           communicate with a remote QRTR service, using QMI encoded messages.
82
83 config SAMPLE_RPMSG_CLIENT
84         tristate "Build rpmsg client sample -- loadable modules only"
85         depends on RPMSG && m
86         help
87           Build an rpmsg client sample driver, which demonstrates how
88           to communicate with an AMP-configured remote processor over
89           the rpmsg bus.
90
91 config SAMPLE_LIVEPATCH
92         tristate "Build live patching samples -- loadable modules only"
93         depends on LIVEPATCH && m
94         help
95           Build sample live patch demonstrations.
96
97 config SAMPLE_CONFIGFS
98         tristate "Build configfs patching sample -- loadable modules only"
99         depends on CONFIGFS_FS && m
100         help
101           Builds a sample configfs interface.
102
103 config SAMPLE_CONNECTOR
104         tristate "Build connector sample -- loadable modules only"
105         depends on CONNECTOR && HEADERS_INSTALL && m
106         help
107           When enabled, this builds both a sample kernel module for
108           the connector interface and a user space tool to communicate
109           with it.
110           See also Documentation/driver-api/connector.rst
111
112 config SAMPLE_HIDRAW
113         bool "hidraw sample"
114         depends on HEADERS_INSTALL
115
116 config SAMPLE_PIDFD
117         bool "pidfd sample"
118         depends on HEADERS_INSTALL
119
120 config SAMPLE_SECCOMP
121         bool "Build seccomp sample code"
122         depends on SECCOMP_FILTER && HEADERS_INSTALL
123         help
124           Build samples of seccomp filters using various methods of
125           BPF filter construction.
126
127 config SAMPLE_VFIO_MDEV_MTTY
128         tristate "Build VFIO mtty example mediated device sample code -- loadable modules only"
129         depends on VFIO_MDEV_DEVICE && m
130         help
131           Build a virtual tty sample driver for use as a VFIO
132           mediated device
133
134 config SAMPLE_VFIO_MDEV_MDPY
135         tristate "Build VFIO mdpy example mediated device sample code -- loadable modules only"
136         depends on VFIO_MDEV_DEVICE && m
137         help
138           Build a virtual display sample driver for use as a VFIO
139           mediated device.  It is a simple framebuffer and supports
140           the region display interface (VFIO_GFX_PLANE_TYPE_REGION).
141
142 config SAMPLE_VFIO_MDEV_MDPY_FB
143         tristate "Build VFIO mdpy example guest fbdev driver -- loadable module only"
144         depends on FB && m
145         select FB_CFB_FILLRECT
146         select FB_CFB_COPYAREA
147         select FB_CFB_IMAGEBLIT
148         help
149           Guest fbdev driver for the virtual display sample driver.
150
151 config SAMPLE_VFIO_MDEV_MBOCHS
152         tristate "Build VFIO mdpy example mediated device sample code -- loadable modules only"
153         depends on VFIO_MDEV_DEVICE && m
154         select DMA_SHARED_BUFFER
155         help
156           Build a virtual display sample driver for use as a VFIO
157           mediated device.  It supports the region display interface
158           (VFIO_GFX_PLANE_TYPE_DMABUF).
159           Emulate enough of qemu stdvga to make bochs-drm.ko happy.
160           That is basically the vram memory bar and the bochs dispi
161           interface vbe registers in the mmio register bar.
162           Specifically it does *not* include any legacy vga stuff.
163           Device looks a lot like "qemu -device secondary-vga".
164
165 config SAMPLE_ANDROID_BINDERFS
166         bool "Build Android binderfs example"
167         depends on CONFIG_ANDROID_BINDERFS
168         help
169           Builds a sample program to illustrate the use of the Android binderfs
170           filesystem.
171
172 config SAMPLE_VFS
173         bool "Build example programs that use new VFS system calls"
174         depends on HEADERS_INSTALL
175         help
176           Build example userspace programs that use new VFS system calls such
177           as mount API and statx().  Note that this is restricted to the x86
178           arch whilst it accesses system calls that aren't yet in all arches.
179
180 endif # SAMPLES