| # 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 builds the trace event example module. |
| |
| config SAMPLE_TRACE_CUSTOM_EVENTS |
| tristate "Build custom trace event example -- loadable modules only" |
| depends on EVENT_TRACING && m |
| help |
| This builds the custom trace event example module. |
| |
| 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 HAVE_SAMPLE_FTRACE_DIRECT |
| help |
| This builds an ftrace direct function example |
| that hooks to wake_up_process and prints the parameters. |
| |
| config SAMPLE_FTRACE_DIRECT_MULTI |
| tristate "Build register_ftrace_direct() on multiple ips example" |
| depends on DYNAMIC_FTRACE_WITH_DIRECT_CALLS && m |
| depends on HAVE_SAMPLE_FTRACE_DIRECT_MULTI |
| help |
| This builds an ftrace direct function example |
| that hooks to wake_up_process and schedule, and prints |
| the function addresses. |
| |
| config SAMPLE_FTRACE_OPS |
| tristate "Build custom ftrace ops example" |
| depends on FUNCTION_TRACER |
| help |
| This builds an ftrace ops example that hooks two functions and |
| measures the time taken to invoke one function a number of times. |
| |
| 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_FPROBE |
| tristate "Build fprobe examples -- loadable modules only" |
| depends on FPROBE && m |
| help |
| This builds a fprobe example module. This module has an option 'symbol'. |
| You can specify a probed symbol or symbols separated with ','. |
| |
| 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_FANOTIFY_ERROR |
| bool "Build fanotify error monitoring sample" |
| depends on FANOTIFY && CC_CAN_LINK && HEADERS_INSTALL |
| help |
| When enabled, this builds an example code that uses the |
| FAN_FS_ERROR fanotify mechanism to monitor filesystem |
| errors. |
| See also Documentation/admin-guide/filesystem-monitoring.rst. |
| |
| config SAMPLE_HIDRAW |
| bool "hidraw sample" |
| depends on CC_CAN_LINK && HEADERS_INSTALL |
| |
| config SAMPLE_LANDLOCK |
| bool "Landlock example" |
| depends on CC_CAN_LINK && HEADERS_INSTALL |
| help |
| Build a simple Landlock sandbox manager able to start a process |
| restricted by a user-defined filesystem access control policy. |
| |
| 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" |
| depends on VFIO |
| select VFIO_MDEV |
| 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" |
| depends on VFIO |
| select VFIO_MDEV |
| 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" |
| depends on FB |
| select FB_IOMEM_HELPERS |
| help |
| Guest fbdev driver for the virtual display sample driver. |
| |
| config SAMPLE_VFIO_MDEV_MBOCHS |
| tristate "Build VFIO mbochs example mediated device sample code" |
| depends on VFIO |
| select VFIO_MDEV |
| 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_TPS6594_PFSM |
| bool "Build example program working with TPS6594 PFSM driver" |
| depends on HEADERS_INSTALL |
| depends on CC_CAN_LINK |
| help |
| Build a sample program to work with PFSM devices. |
| |
| 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. |
| |
| config SAMPLE_CORESIGHT_SYSCFG |
| tristate "Build example loadable module for CoreSight config" |
| depends on CORESIGHT && m |
| help |
| Build an example loadable module that adds new CoreSight features |
| and configuration using the CoreSight system configuration API. |
| This demonstrates how a user may create their own CoreSight |
| configurations and easily load them into the system at runtime. |
| |
| config SAMPLE_KMEMLEAK |
| tristate "Simple test for the kernel memory leak detector" |
| depends on DEBUG_KMEMLEAK && m |
| help |
| Build a sample program which have explicitly leaks memory to test |
| kmemleak |
| |
| config SAMPLE_CGROUP |
| bool "Build cgroup sample code" |
| depends on CGROUPS && CC_CAN_LINK && HEADERS_INSTALL |
| help |
| Build samples that demonstrate the usage of the cgroup API. |
| |
| source "samples/rust/Kconfig" |
| |
| endif # SAMPLES |
| |
| config HAVE_SAMPLE_FTRACE_DIRECT |
| bool |
| |
| config HAVE_SAMPLE_FTRACE_DIRECT_MULTI |
| bool |