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