linux/samples/Kconfig
<<
>>
Prefs
   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