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