1# SPDX-License-Identifier: GPL-2.0-only 2menuconfig SAMPLES 3 bool "Sample kernel code" 4 depends on !UML 5 help 6 You can build and test sample kernel code here. 7 8if SAMPLES 9 10config SAMPLE_TRACE_EVENTS 11 tristate "Build trace_events examples -- loadable modules only" 12 depends on EVENT_TRACING && m 13 help 14 This build trace event example modules. 15 16config SAMPLE_TRACE_PRINTK 17 tristate "Build trace_printk module - tests various trace_printk formats" 18 depends on EVENT_TRACING && m 19 help 20 This builds a module that calls trace_printk() and can be used to 21 test various trace_printk() calls from a module. 22 23config SAMPLE_KOBJECT 24 tristate "Build kobject examples" 25 help 26 This config option will allow you to build a number of 27 different kobject sample modules showing how to use kobjects, 28 ksets, and ktypes properly. 29 30 If in doubt, say "N" here. 31 32config SAMPLE_KPROBES 33 tristate "Build kprobes examples -- loadable modules only" 34 depends on KPROBES && m 35 help 36 This build several kprobes example modules. 37 38config SAMPLE_KRETPROBES 39 tristate "Build kretprobes example -- loadable modules only" 40 default m 41 depends on SAMPLE_KPROBES && KRETPROBES 42 43config SAMPLE_HW_BREAKPOINT 44 tristate "Build kernel hardware breakpoint examples -- loadable module only" 45 depends on HAVE_HW_BREAKPOINT && m 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 && 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/connector/connector.txt 104 105config SAMPLE_SECCOMP 106 bool "Build seccomp sample code" 107 depends on SECCOMP_FILTER 108 help 109 Build samples of seccomp filters using various methods of 110 BPF filter construction. 111 112config SAMPLE_VFIO_MDEV_MTTY 113 tristate "Build VFIO mtty example mediated device sample code -- loadable modules only" 114 depends on VFIO_MDEV_DEVICE && m 115 help 116 Build a virtual tty sample driver for use as a VFIO 117 mediated device 118 119config SAMPLE_VFIO_MDEV_MDPY 120 tristate "Build VFIO mdpy example mediated device sample code -- loadable modules only" 121 depends on VFIO_MDEV_DEVICE && m 122 help 123 Build a virtual display sample driver for use as a VFIO 124 mediated device. It is a simple framebuffer and supports 125 the region display interface (VFIO_GFX_PLANE_TYPE_REGION). 126 127config SAMPLE_VFIO_MDEV_MDPY_FB 128 tristate "Build VFIO mdpy example guest fbdev driver -- loadable module only" 129 depends on FB && m 130 select FB_CFB_FILLRECT 131 select FB_CFB_COPYAREA 132 select FB_CFB_IMAGEBLIT 133 help 134 Guest fbdev driver for the virtual display sample driver. 135 136config SAMPLE_VFIO_MDEV_MBOCHS 137 tristate "Build VFIO mdpy example mediated device sample code -- loadable modules only" 138 depends on VFIO_MDEV_DEVICE && m 139 select DMA_SHARED_BUFFER 140 help 141 Build a virtual display sample driver for use as a VFIO 142 mediated device. It supports the region display interface 143 (VFIO_GFX_PLANE_TYPE_DMABUF). 144 Emulate enough of qemu stdvga to make bochs-drm.ko happy. 145 That is basically the vram memory bar and the bochs dispi 146 interface vbe registers in the mmio register bar. 147 Specifically it does *not* include any legacy vga stuff. 148 Device looks a lot like "qemu -device secondary-vga". 149 150config SAMPLE_ANDROID_BINDERFS 151 bool "Build Android binderfs example" 152 depends on CONFIG_ANDROID_BINDERFS 153 help 154 Builds a sample program to illustrate the use of the Android binderfs 155 filesystem. 156 157config SAMPLE_VFS 158 bool "Build example programs that use new VFS system calls" 159 help 160 Build example userspace programs that use new VFS system calls such 161 as mount API and statx(). Note that this is restricted to the x86 162 arch whilst it accesses system calls that aren't yet in all arches. 163 164endif # SAMPLES 165