Kconfig 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. config NVME_CORE
  3. tristate
  4. select BLK_DEV_INTEGRITY_T10 if BLK_DEV_INTEGRITY
  5. config 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. To compile this driver as a module, choose M here: the
  14. module will be called nvme.
  15. config NVME_MULTIPATH
  16. bool "NVMe multipath support"
  17. depends on NVME_CORE
  18. help
  19. This option enables support for multipath access to NVMe
  20. subsystems. If this option is enabled only a single
  21. /dev/nvmeXnY device will show up for each NVMe namespace,
  22. even if it is accessible through multiple controllers.
  23. config NVME_VERBOSE_ERRORS
  24. bool "NVMe verbose error reporting"
  25. depends on NVME_CORE
  26. help
  27. This option enables verbose reporting for NVMe errors. The
  28. error translation table will grow the kernel image size by
  29. about 4 KB.
  30. config NVME_HWMON
  31. bool "NVMe hardware monitoring"
  32. depends on (NVME_CORE=y && HWMON=y) || (NVME_CORE=m && HWMON)
  33. help
  34. This provides support for NVMe hardware monitoring. If enabled,
  35. a hardware monitoring device will be created for each NVMe drive
  36. in the system.
  37. config NVME_FABRICS
  38. select NVME_CORE
  39. tristate
  40. config NVME_RDMA
  41. tristate "NVM Express over Fabrics RDMA host driver"
  42. depends on INFINIBAND && INFINIBAND_ADDR_TRANS && BLOCK
  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. To configure a NVMe over Fabrics controller use the nvme-cli tool
  50. from https://github.com/linux-nvme/nvme-cli.
  51. If unsure, say N.
  52. config NVME_FC
  53. tristate "NVM Express over Fabrics FC host driver"
  54. depends on BLOCK
  55. depends on HAS_DMA
  56. select NVME_FABRICS
  57. select SG_POOL
  58. help
  59. This provides support for the NVMe over Fabrics protocol using
  60. the FC transport. This allows you to use remote block devices
  61. exported using the NVMe protocol set.
  62. To configure a NVMe over Fabrics controller use the nvme-cli tool
  63. from https://github.com/linux-nvme/nvme-cli.
  64. If unsure, say N.
  65. config NVME_TCP
  66. tristate "NVM Express over Fabrics TCP host driver"
  67. depends on INET
  68. depends on BLOCK
  69. select NVME_FABRICS
  70. select CRYPTO
  71. select CRYPTO_CRC32C
  72. help
  73. This provides support for the NVMe over Fabrics protocol using
  74. the TCP transport. This allows you to use remote block devices
  75. exported using the NVMe protocol set.
  76. To configure a NVMe over Fabrics controller use the nvme-cli tool
  77. from https://github.com/linux-nvme/nvme-cli.
  78. If unsure, say N.
  79. config NVME_AUTH
  80. bool "NVM Express over Fabrics In-Band Authentication"
  81. depends on NVME_CORE
  82. select NVME_COMMON
  83. select CRYPTO
  84. select CRYPTO_HMAC
  85. select CRYPTO_SHA256
  86. select CRYPTO_SHA512
  87. select CRYPTO_DH
  88. select CRYPTO_DH_RFC7919_GROUPS
  89. help
  90. This provides support for NVMe over Fabrics In-Band Authentication.
  91. If unsure, say N.
  92. config NVME_APPLE
  93. tristate "Apple ANS2 NVM Express host driver"
  94. depends on OF && BLOCK
  95. depends on APPLE_RTKIT && APPLE_SART
  96. depends on ARCH_APPLE || COMPILE_TEST
  97. select NVME_CORE
  98. help
  99. This provides support for the NVMe controller embedded in Apple SoCs
  100. such as the M1.
  101. To compile this driver as a module, choose M here: the
  102. module will be called nvme-apple.
  103. config MSM_SDEXPRESS
  104. tristate "SD Express platform driver"
  105. depends on BLK_DEV_NVME
  106. help
  107. The SDExpress platform driver for SDX cards.
  108. If you know you don't have one of these, it is safe
  109. to answer N.
  110. To compile this driver as a module, choose M here: the
  111. module will be called nvme.