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