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 35config NVME_FABRICS 36 tristate 37 38config NVME_RDMA 39 tristate "NVM Express over Fabrics RDMA host driver" 40 depends on INFINIBAND && INFINIBAND_ADDR_TRANS && BLOCK 41 select NVME_CORE 42 select NVME_FABRICS 43 select SG_POOL 44 help 45 This provides support for the NVMe over Fabrics protocol using 46 the RDMA (Infiniband, RoCE, iWarp) transport. This allows you 47 to use remote block devices exported using the NVMe protocol set. 48 49 To configure a NVMe over Fabrics controller use the nvme-cli tool 50 from https://github.com/linux-nvme/nvme-cli. 51 52 If unsure, say N. 53 54config NVME_FC 55 tristate "NVM Express over Fabrics FC host driver" 56 depends on BLOCK 57 depends on HAS_DMA 58 select NVME_CORE 59 select NVME_FABRICS 60 select SG_POOL 61 help 62 This provides support for the NVMe over Fabrics protocol using 63 the FC transport. This allows you to use remote block devices 64 exported using the NVMe protocol set. 65 66 To configure a NVMe over Fabrics controller use the nvme-cli tool 67 from https://github.com/linux-nvme/nvme-cli. 68 69 If unsure, say N. 70 71config NVME_TCP 72 tristate "NVM Express over Fabrics TCP host driver" 73 depends on INET 74 depends on BLOCK 75 select NVME_CORE 76 select NVME_FABRICS 77 select CRYPTO 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