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_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 39config 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 45config SAMPLE_KRETPROBES 46 tristate "Build kretprobes example -- loadable modules only" 47 default m 48 depends on SAMPLE_KPROBES && KRETPROBES 49 50config 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 56config 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 66config 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 73config 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 83config 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 91config 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 97config 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 103config 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 112config SAMPLE_HIDRAW 113 bool "hidraw sample" 114 depends on HEADERS_INSTALL 115 116config SAMPLE_PIDFD 117 bool "pidfd sample" 118 depends on HEADERS_INSTALL 119 120config 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 127config 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 134config 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 142config 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 151config 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 165config 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 172config 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 180endif # SAMPLES 181