File Index
Files and directories
Sign in
FILE

Kconfig

File preview with syntax highlighting.

linux-6.19.14/drivers/nvme/host/Kconfig KCONFIG
  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 controls support for multipath access to NVMe
 22	  subsystems. If this option is enabled support for NVMe multipath
 23	  access is included in the kernel. If this option is disabled support
 24	  for NVMe multipath access is excluded from the kernel. When this
 25	  option is disabled each controller/namespace receives its
 26	  own /dev/nvmeXnY device entry and NVMe multipath access is
 27	  not supported.
 28
 29	  If unsure, say Y.
 30
 31config NVME_VERBOSE_ERRORS
 32	bool "NVMe verbose error reporting"
 33	depends on NVME_CORE
 34	help
 35	   This option enables verbose reporting for NVMe errors. The
 36	   error translation table will grow the kernel image size by
 37	   about 4 KB.
 38
 39config NVME_HWMON
 40	bool "NVMe hardware monitoring"
 41	depends on (NVME_CORE=y && HWMON=y) || (NVME_CORE=m && HWMON)
 42	help
 43	  This provides support for NVMe hardware monitoring. If enabled,
 44	  a hardware monitoring device will be created for each NVMe drive
 45	  in the system.
 46
 47config NVME_FABRICS
 48	select NVME_CORE
 49	select NVME_KEYRING if NVME_TCP_TLS
 50	tristate
 51
 52config NVME_RDMA
 53	tristate "NVM Express over Fabrics RDMA host driver"
 54	depends on INFINIBAND && INFINIBAND_ADDR_TRANS && BLOCK
 55	select NVME_FABRICS
 56	select SG_POOL
 57	help
 58	  This provides support for the NVMe over Fabrics protocol using
 59	  the RDMA (Infiniband, RoCE, iWarp) transport.  This allows you
 60	  to use remote block devices exported using the NVMe protocol set.
 61
 62	  To configure a NVMe over Fabrics controller use the nvme-cli tool
 63	  from https://github.com/linux-nvme/nvme-cli.
 64
 65	  If unsure, say N.
 66
 67config NVME_FC
 68	tristate "NVM Express over Fabrics FC host driver"
 69	depends on BLOCK
 70	depends on HAS_DMA
 71	select NVME_FABRICS
 72	select SG_POOL
 73	help
 74	  This provides support for the NVMe over Fabrics protocol using
 75	  the FC transport.  This allows you to use remote block devices
 76	  exported using the NVMe protocol set.
 77
 78	  To configure a NVMe over Fabrics controller use the nvme-cli tool
 79	  from https://github.com/linux-nvme/nvme-cli.
 80
 81	  If unsure, say N.
 82
 83config NVME_TCP
 84	tristate "NVM Express over Fabrics TCP host driver"
 85	depends on INET
 86	depends on BLOCK
 87	select CRC32
 88	select NET_CRC32C
 89	select NVME_FABRICS
 90	help
 91	  This provides support for the NVMe over Fabrics protocol using
 92	  the TCP transport.  This allows you to use remote block devices
 93	  exported using the NVMe protocol set.
 94
 95	  To configure a NVMe over Fabrics controller use the nvme-cli tool
 96	  from https://github.com/linux-nvme/nvme-cli.
 97
 98	  If unsure, say N.
 99
100config NVME_TCP_TLS
101	bool "NVMe over Fabrics TCP TLS encryption support"
102	depends on NVME_TCP
103	select NET_HANDSHAKE
104	select KEYS
105	select TLS
106	help
107	  Enables TLS encryption for NVMe TCP using the netlink handshake API.
108
109	  The TLS handshake daemon is available at
110	  https://github.com/oracle/ktls-utils.
111
112	  If unsure, say N.
113
114config NVME_HOST_AUTH
115	bool "NVMe over Fabrics In-Band Authentication in host side"
116	depends on NVME_CORE
117	select NVME_AUTH
118	select NVME_KEYRING
119	help
120	  This provides support for NVMe over Fabrics In-Band Authentication in
121	  host side.
122
123	  If unsure, say N.
124
125config NVME_APPLE
126	tristate "Apple ANS2 NVM Express host driver"
127	depends on OF && BLOCK
128	depends on APPLE_RTKIT && APPLE_SART
129	depends on ARCH_APPLE || COMPILE_TEST
130	select NVME_CORE
131	help
132	  This provides support for the NVMe controller embedded in Apple SoCs
133	  such as the M1.
134
135	  To compile this driver as a module, choose M here: the
136	  module will be called nvme-apple.
~/ Read-only file preview.