| # SPDX-License-Identifier: GPL-2.0-only | |
| menuconfig SAMPLES | |
| bool "Sample kernel code" | |
| help | |
| You can build and test sample kernel code here. | |
| if SAMPLES | |
| config SAMPLE_AUXDISPLAY | |
| bool "auxdisplay sample" | |
| depends on CC_CAN_LINK | |
| config SAMPLE_TRACE_EVENTS | |
| tristate "Build trace_events examples -- loadable modules only" | |
| depends on EVENT_TRACING && m | |
| help | |
| This build trace event example modules. | |
| config SAMPLE_TRACE_PRINTK | |
| tristate "Build trace_printk module - tests various trace_printk formats" | |
| depends on EVENT_TRACING && m | |
| help | |
| This builds a module that calls trace_printk() and can be used to | |
| test various trace_printk() calls from a module. | |
| config SAMPLE_FTRACE_DIRECT | |
| tristate "Build register_ftrace_direct() example" | |
| depends on DYNAMIC_FTRACE_WITH_DIRECT_CALLS && m | |
| depends on X86_64 # has x86_64 inlined asm | |
| help | |
| This builds an ftrace direct function example | |
| that hooks to wake_up_process and prints the parameters. | |
| config SAMPLE_TRACE_ARRAY | |
| tristate "Build sample module for kernel access to Ftrace instancess" | |
| depends on EVENT_TRACING && m | |
| help | |
| This builds a module that demonstrates the use of various APIs to | |
| access Ftrace instances from within the kernel. | |
| config SAMPLE_KOBJECT | |
| tristate "Build kobject examples" | |
| help | |
| This config option will allow you to build a number of | |
| different kobject sample modules showing how to use kobjects, | |
| ksets, and ktypes properly. | |
| If in doubt, say "N" here. | |
| config SAMPLE_KPROBES | |
| tristate "Build kprobes examples -- loadable modules only" | |
| depends on KPROBES && m | |
| help | |
| This build several kprobes example modules. | |
| config SAMPLE_KRETPROBES | |
| tristate "Build kretprobes example -- loadable modules only" | |
| default m | |
| depends on SAMPLE_KPROBES && KRETPROBES | |
| config SAMPLE_HW_BREAKPOINT | |
| tristate "Build kernel hardware breakpoint examples -- loadable module only" | |
| depends on HAVE_HW_BREAKPOINT && m | |
| help | |
| This builds kernel hardware breakpoint example modules. | |
| config SAMPLE_KFIFO | |
| tristate "Build kfifo examples -- loadable modules only" | |
| depends on m | |
| help | |
| This config option will allow you to build a number of | |
| different kfifo sample modules showing how to use the | |
| generic kfifo API. | |
| If in doubt, say "N" here. | |
| config SAMPLE_KDB | |
| tristate "Build kdb command example -- loadable modules only" | |
| depends on KGDB_KDB && m | |
| help | |
| Build an example of how to dynamically add the hello | |
| command to the kdb shell. | |
| config SAMPLE_QMI_CLIENT | |
| tristate "Build qmi client sample -- loadable modules only" | |
| depends on m | |
| depends on ARCH_QCOM | |
| depends on NET | |
| select QCOM_QMI_HELPERS | |
| help | |
| Build an QMI client sample driver, which demonstrates how to | |
| communicate with a remote QRTR service, using QMI encoded messages. | |
| config SAMPLE_RPMSG_CLIENT | |
| tristate "Build rpmsg client sample -- loadable modules only" | |
| depends on RPMSG && m | |
| help | |
| Build an rpmsg client sample driver, which demonstrates how | |
| to communicate with an AMP-configured remote processor over | |
| the rpmsg bus. | |
| config SAMPLE_LIVEPATCH | |
| tristate "Build live patching samples -- loadable modules only" | |
| depends on LIVEPATCH && m | |
| help | |
| Build sample live patch demonstrations. | |
| config SAMPLE_CONFIGFS | |
| tristate "Build configfs patching sample -- loadable modules only" | |
| depends on CONFIGFS_FS && m | |
| help | |
| Builds a sample configfs interface. | |
| config SAMPLE_CONNECTOR | |
| tristate "Build connector sample -- loadable modules only" | |
| depends on CONNECTOR && HEADERS_INSTALL && m | |
| help | |
| When enabled, this builds both a sample kernel module for | |
| the connector interface and a user space tool to communicate | |
| with it. | |
| See also Documentation/driver-api/connector.rst | |
| config SAMPLE_HIDRAW | |
| bool "hidraw sample" | |
| depends on CC_CAN_LINK && HEADERS_INSTALL | |
| config SAMPLE_PIDFD | |
| bool "pidfd sample" | |
| depends on CC_CAN_LINK && HEADERS_INSTALL | |
| config SAMPLE_SECCOMP | |
| bool "Build seccomp sample code" | |
| depends on SECCOMP_FILTER && CC_CAN_LINK && HEADERS_INSTALL | |
| help | |
| Build samples of seccomp filters using various methods of | |
| BPF filter construction. | |
| config SAMPLE_TIMER | |
| bool "Timer sample" | |
| depends on CC_CAN_LINK && HEADERS_INSTALL | |
| config SAMPLE_UHID | |
| bool "UHID sample" | |
| depends on CC_CAN_LINK && HEADERS_INSTALL | |
| help | |
| Build UHID sample program. | |
| config SAMPLE_VFIO_MDEV_MTTY | |
| tristate "Build VFIO mtty example mediated device sample code -- loadable modules only" | |
| depends on VFIO_MDEV_DEVICE && m | |
| help | |
| Build a virtual tty sample driver for use as a VFIO | |
| mediated device | |
| config SAMPLE_VFIO_MDEV_MDPY | |
| tristate "Build VFIO mdpy example mediated device sample code -- loadable modules only" | |
| depends on VFIO_MDEV_DEVICE && m | |
| help | |
| Build a virtual display sample driver for use as a VFIO | |
| mediated device. It is a simple framebuffer and supports | |
| the region display interface (VFIO_GFX_PLANE_TYPE_REGION). | |
| config SAMPLE_VFIO_MDEV_MDPY_FB | |
| tristate "Build VFIO mdpy example guest fbdev driver -- loadable module only" | |
| depends on FB && m | |
| select FB_CFB_FILLRECT | |
| select FB_CFB_COPYAREA | |
| select FB_CFB_IMAGEBLIT | |
| help | |
| Guest fbdev driver for the virtual display sample driver. | |
| config SAMPLE_VFIO_MDEV_MBOCHS | |
| tristate "Build VFIO mdpy example mediated device sample code -- loadable modules only" | |
| depends on VFIO_MDEV_DEVICE && m | |
| select DMA_SHARED_BUFFER | |
| help | |
| Build a virtual display sample driver for use as a VFIO | |
| mediated device. It supports the region display interface | |
| (VFIO_GFX_PLANE_TYPE_DMABUF). | |
| Emulate enough of qemu stdvga to make bochs-drm.ko happy. | |
| That is basically the vram memory bar and the bochs dispi | |
| interface vbe registers in the mmio register bar. | |
| Specifically it does *not* include any legacy vga stuff. | |
| Device looks a lot like "qemu -device secondary-vga". | |
| config SAMPLE_ANDROID_BINDERFS | |
| bool "Build Android binderfs example" | |
| depends on CC_CAN_LINK && HEADERS_INSTALL | |
| help | |
| Builds a sample program to illustrate the use of the Android binderfs | |
| filesystem. | |
| config SAMPLE_VFS | |
| bool "Build example programs that use new VFS system calls" | |
| depends on CC_CAN_LINK && HEADERS_INSTALL | |
| help | |
| Build example userspace programs that use new VFS system calls such | |
| as mount API and statx(). Note that this is restricted to the x86 | |
| arch whilst it accesses system calls that aren't yet in all arches. | |
| config SAMPLE_INTEL_MEI | |
| bool "Build example program working with intel mei driver" | |
| depends on INTEL_MEI | |
| depends on CC_CAN_LINK && HEADERS_INSTALL | |
| help | |
| Build a sample program to work with mei device. | |
| config SAMPLE_WATCHDOG | |
| bool "watchdog sample" | |
| depends on CC_CAN_LINK | |
| config SAMPLE_WATCH_QUEUE | |
| bool "Build example watch_queue notification API consumer" | |
| depends on CC_CAN_LINK && HEADERS_INSTALL | |
| help | |
| Build example userspace program to use the new mount_notify(), | |
| sb_notify() syscalls and the KEYCTL_WATCH_KEY keyctl() function. | |
| endif # SAMPLES |