303 lines
		
	
	
		
			9.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			303 lines
		
	
	
		
			9.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								# 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
							 |