xref: /openbmc/linux/drivers/nvme/host/Kconfig (revision 293d5b43)
1config NVME_CORE
2	tristate
3
4config BLK_DEV_NVME
5	tristate "NVM Express block device"
6	depends on PCI && BLOCK
7	select NVME_CORE
8	---help---
9	  The NVM Express driver is for solid state drives directly
10	  connected to the PCI or PCI Express bus.  If you know you
11	  don't have one of these, it is safe to answer N.
12
13	  To compile this driver as a module, choose M here: the
14	  module will be called nvme.
15
16config BLK_DEV_NVME_SCSI
17	bool "SCSI emulation for NVMe device nodes"
18	depends on NVME_CORE
19	---help---
20	  This adds support for the SG_IO ioctl on the NVMe character
21	  and block devices nodes, as well as a translation for a small
22	  number of selected SCSI commands to NVMe commands to the NVMe
23	  driver.  If you don't know what this means you probably want
24	  to say N here, unless you run a distro that abuses the SCSI
25	  emulation to provide stable device names for mount by id, like
26	  some OpenSuSE and SLES versions.
27
28config NVME_FABRICS
29	tristate
30
31config NVME_RDMA
32	tristate "NVM Express over Fabrics RDMA host driver"
33	depends on INFINIBAND
34	depends on BLK_DEV_NVME
35	select NVME_FABRICS
36	select SG_POOL
37	help
38	  This provides support for the NVMe over Fabrics protocol using
39	  the RDMA (Infiniband, RoCE, iWarp) transport.  This allows you
40	  to use remote block devices exported using the NVMe protocol set.
41
42	  To configure a NVMe over Fabrics controller use the nvme-cli tool
43	  from https://github.com/linux-nvme/nvme-cli.
44
45	  If unsure, say N.
46