1# SPDX-License-Identifier: GPL-2.0-only 2config NVME_CORE 3 tristate 4 select BLK_DEV_INTEGRITY_T10 if BLK_DEV_INTEGRITY 5 6config BLK_DEV_NVME 7 tristate "NVM Express block device" 8 depends on PCI && BLOCK 9 select NVME_CORE 10 ---help--- 11 The NVM Express driver is for solid state drives directly 12 connected to the PCI or PCI Express bus. If you know you 13 don't have one of these, it is safe to answer N. 14 15 To compile this driver as a module, choose M here: the 16 module will be called nvme. 17 18config NVME_MULTIPATH 19 bool "NVMe multipath support" 20 depends on NVME_CORE 21 ---help--- 22 This option enables support for multipath access to NVMe 23 subsystems. If this option is enabled only a single 24 /dev/nvmeXnY device will show up for each NVMe namespaces, 25 even if it is accessible through multiple controllers. 26 27config NVME_HWMON 28 bool "NVMe hardware monitoring" 29 depends on (NVME_CORE=y && HWMON=y) || (NVME_CORE=m && HWMON) 30 help 31 This provides support for NVMe hardware monitoring. If enabled, 32 a hardware monitoring device will be created for each NVMe drive 33 in the system. 34 35 If unsure, say N. 36 37config NVME_FABRICS 38 tristate 39 40config NVME_RDMA 41 tristate "NVM Express over Fabrics RDMA host driver" 42 depends on INFINIBAND && INFINIBAND_ADDR_TRANS && BLOCK 43 select NVME_CORE 44 select NVME_FABRICS 45 select SG_POOL 46 help 47 This provides support for the NVMe over Fabrics protocol using 48 the RDMA (Infiniband, RoCE, iWarp) transport. This allows you 49 to use remote block devices exported using the NVMe protocol set. 50 51 To configure a NVMe over Fabrics controller use the nvme-cli tool 52 from https://github.com/linux-nvme/nvme-cli. 53 54 If unsure, say N. 55 56config NVME_FC 57 tristate "NVM Express over Fabrics FC host driver" 58 depends on BLOCK 59 depends on HAS_DMA 60 select NVME_CORE 61 select NVME_FABRICS 62 select SG_POOL 63 help 64 This provides support for the NVMe over Fabrics protocol using 65 the FC transport. This allows you to use remote block devices 66 exported using the NVMe protocol set. 67 68 To configure a NVMe over Fabrics controller use the nvme-cli tool 69 from https://github.com/linux-nvme/nvme-cli. 70 71 If unsure, say N. 72 73config NVME_TCP 74 tristate "NVM Express over Fabrics TCP host driver" 75 depends on INET 76 depends on BLK_DEV_NVME 77 select NVME_FABRICS 78 select CRYPTO_CRC32C 79 help 80 This provides support for the NVMe over Fabrics protocol using 81 the TCP transport. This allows you to use remote block devices 82 exported using the NVMe protocol set. 83 84 To configure a NVMe over Fabrics controller use the nvme-cli tool 85 from https://github.com/linux-nvme/nvme-cli. 86 87 If unsure, say N. 88