1# SPDX-License-Identifier: GPL-2.0-only
2
3menuconfig TARGET_CORE
4	tristate "Generic Target Core Mod (TCM) and ConfigFS Infrastructure"
5	depends on BLOCK
6	select CONFIGFS_FS
7	select CRC_T10DIF
8	select SCSI_COMMON
9	select SGL_ALLOC
10	default n
11	help
12	Say Y or M here to enable the TCM Storage Engine and ConfigFS enabled
13	control path for target_core_mod.  This includes built-in TCM RAMDISK
14	subsystem logic for virtual LUN 0 access
15
16if TARGET_CORE
17
18config TCM_IBLOCK
19	tristate "TCM/IBLOCK Subsystem Plugin for Linux/BLOCK"
20	select BLK_DEV_INTEGRITY
21	help
22	Say Y here to enable the TCM/IBLOCK subsystem plugin for non-buffered
23	access to Linux/Block devices using BIO
24
25config TCM_FILEIO
26	tristate "TCM/FILEIO Subsystem Plugin for Linux/VFS"
27	help
28	Say Y here to enable the TCM/FILEIO subsystem plugin for buffered
29	access to Linux/VFS struct file or struct block_device
30
31config TCM_PSCSI
32	tristate "TCM/pSCSI Subsystem Plugin for Linux/SCSI"
33	depends on SCSI
34	help
35	Say Y here to enable the TCM/pSCSI subsystem plugin for non-buffered
36	passthrough access to Linux/SCSI device
37
38config TCM_USER2
39	tristate "TCM/USER Subsystem Plugin for Linux"
40	depends on UIO && NET
41	help
42	Say Y here to enable the TCM/USER subsystem plugin for a userspace
43	process to handle requests. This is version 2 of the ABI; version 1
44	is obsolete.
45
46source "drivers/target/loopback/Kconfig"
47source "drivers/target/tcm_fc/Kconfig"
48source "drivers/target/iscsi/Kconfig"
49source "drivers/target/sbp/Kconfig"
50
51endif
52