# SPDX-License-Identifier: GPL-2.0-only

menuconfig TARGET_CORE
	tristate "Generic Target Core Mod (TCM) and ConfigFS Infrastructure"
	depends on BLOCK
	select CONFIGFS_FS
	select CRC_T10DIF
	select SCSI_COMMON
	select SGL_ALLOC
	default n
	help
	Say Y or M here to enable the TCM Storage Engine and ConfigFS enabled
	control path for target_core_mod.  This includes built-in TCM RAMDISK
	subsystem logic for virtual LUN 0 access

if TARGET_CORE

config TCM_IBLOCK
	tristate "TCM/IBLOCK Subsystem Plugin for Linux/BLOCK"
	select BLK_DEV_INTEGRITY
	help
	Say Y here to enable the TCM/IBLOCK subsystem plugin for non-buffered
	access to Linux/Block devices using BIO

config TCM_FILEIO
	tristate "TCM/FILEIO Subsystem Plugin for Linux/VFS"
	help
	Say Y here to enable the TCM/FILEIO subsystem plugin for buffered
	access to Linux/VFS struct file or struct block_device

config TCM_PSCSI
	tristate "TCM/pSCSI Subsystem Plugin for Linux/SCSI"
	depends on SCSI
	help
	Say Y here to enable the TCM/pSCSI subsystem plugin for non-buffered
	passthrough access to Linux/SCSI device

config TCM_USER2
	tristate "TCM/USER Subsystem Plugin for Linux"
	depends on UIO && NET
	help
	Say Y here to enable the TCM/USER subsystem plugin for a userspace
	process to handle requests. This is version 2 of the ABI; version 1
	is obsolete.

source "drivers/target/loopback/Kconfig"
source "drivers/target/tcm_fc/Kconfig"
source "drivers/target/iscsi/Kconfig"
source "drivers/target/sbp/Kconfig"

endif
