162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci
362306a36Sopenharmony_cimenuconfig TARGET_CORE
462306a36Sopenharmony_ci	tristate "Generic Target Core Mod (TCM) and ConfigFS Infrastructure"
562306a36Sopenharmony_ci	depends on BLOCK
662306a36Sopenharmony_ci	select CONFIGFS_FS
762306a36Sopenharmony_ci	select CRC_T10DIF
862306a36Sopenharmony_ci	select SCSI_COMMON
962306a36Sopenharmony_ci	select SGL_ALLOC
1062306a36Sopenharmony_ci	default n
1162306a36Sopenharmony_ci	help
1262306a36Sopenharmony_ci	Say Y or M here to enable the TCM Storage Engine and ConfigFS enabled
1362306a36Sopenharmony_ci	control path for target_core_mod.  This includes built-in TCM RAMDISK
1462306a36Sopenharmony_ci	subsystem logic for virtual LUN 0 access
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciif TARGET_CORE
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciconfig TCM_IBLOCK
1962306a36Sopenharmony_ci	tristate "TCM/IBLOCK Subsystem Plugin for Linux/BLOCK"
2062306a36Sopenharmony_ci	select BLK_DEV_INTEGRITY
2162306a36Sopenharmony_ci	help
2262306a36Sopenharmony_ci	Say Y here to enable the TCM/IBLOCK subsystem plugin for non-buffered
2362306a36Sopenharmony_ci	access to Linux/Block devices using BIO
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ciconfig TCM_FILEIO
2662306a36Sopenharmony_ci	tristate "TCM/FILEIO Subsystem Plugin for Linux/VFS"
2762306a36Sopenharmony_ci	help
2862306a36Sopenharmony_ci	Say Y here to enable the TCM/FILEIO subsystem plugin for buffered
2962306a36Sopenharmony_ci	access to Linux/VFS struct file or struct block_device
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ciconfig TCM_PSCSI
3262306a36Sopenharmony_ci	tristate "TCM/pSCSI Subsystem Plugin for Linux/SCSI"
3362306a36Sopenharmony_ci	depends on SCSI
3462306a36Sopenharmony_ci	help
3562306a36Sopenharmony_ci	Say Y here to enable the TCM/pSCSI subsystem plugin for non-buffered
3662306a36Sopenharmony_ci	passthrough access to Linux/SCSI device
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ciconfig TCM_USER2
3962306a36Sopenharmony_ci	tristate "TCM/USER Subsystem Plugin for Linux"
4062306a36Sopenharmony_ci	depends on UIO && NET
4162306a36Sopenharmony_ci	help
4262306a36Sopenharmony_ci	Say Y here to enable the TCM/USER subsystem plugin for a userspace
4362306a36Sopenharmony_ci	process to handle requests. This is version 2 of the ABI; version 1
4462306a36Sopenharmony_ci	is obsolete.
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_cisource "drivers/target/loopback/Kconfig"
4762306a36Sopenharmony_cisource "drivers/target/tcm_fc/Kconfig"
4862306a36Sopenharmony_cisource "drivers/target/iscsi/Kconfig"
4962306a36Sopenharmony_cisource "drivers/target/sbp/Kconfig"
5062306a36Sopenharmony_cisource "drivers/target/tcm_remote/Kconfig"
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ciendif
53