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 help 46 This builds kernel hardware breakpoint example modules. 47 48config 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 58config SAMPLE_KDB 59 tristate "Build kdb command example -- loadable modules only" 60 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 65config SAMPLE_QMI_CLIENT 66 tristate "Build qmi client sample -- loadable modules only" 67 depends on m 68 depends on ARCH_QCOM 69 depends on NET 70 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 75config 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 83config SAMPLE_LIVEPATCH 84 tristate "Build live patching samples -- loadable modules only" 85 depends on LIVEPATCH && m 86 help 87 Build sample live patch demonstrations. 88 89config 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 95config SAMPLE_CONNECTOR 96 tristate "Build connector sample -- loadable modules only" 97 depends on CONNECTOR && HEADERS_INSTALL && m 98 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. 102 See also Documentation/driver-api/connector.rst 103 104config 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 112config SAMPLE_SECCOMP 113 bool "Build seccomp sample code" 114 depends on SECCOMP_FILTER && HEADERS_INSTALL 115 help 116 Build samples of seccomp filters using various methods of 117 BPF filter construction. 118 119config 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 126config 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 134config 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 143config SAMPLE_VFIO_MDEV_MBOCHS 144 tristate "Build VFIO mdpy example mediated device sample code -- loadable modules only" 145 depends on VFIO_MDEV_DEVICE && m 146 select DMA_SHARED_BUFFER 147 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 157config 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 164config SAMPLE_VFS 165 bool "Build example programs that use new VFS system calls" 166 depends on HEADERS_INSTALL 167 help 168 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. 171 172endif # SAMPLES 173