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 namespace, 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 select NVME_CORE 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_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_FABRICS 59 select SG_POOL 60 help 61 This provides support for the NVMe over Fabrics protocol using 62 the FC transport. This allows you to use remote block devices 63 exported using the NVMe protocol set. 64 65 To configure a NVMe over Fabrics controller use the nvme-cli tool 66 from https://github.com/linux-nvme/nvme-cli. 67 68 If unsure, say N. 69 70config NVME_TCP 71 tristate "NVM Express over Fabrics TCP host driver" 72 depends on INET 73 depends on BLOCK 74 select NVME_FABRICS 75 select CRYPTO 76 select CRYPTO_CRC32C 77 help 78 This provides support for the NVMe over Fabrics protocol using 79 the TCP transport. This allows you to use remote block devices 80 exported using the NVMe protocol set. 81 82 To configure a NVMe over Fabrics controller use the nvme-cli tool 83 from https://github.com/linux-nvme/nvme-cli. 84 85 If unsure, say N. 86