Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 config NVME_CORE
0003         tristate
0004         select BLK_DEV_INTEGRITY_T10 if BLK_DEV_INTEGRITY
0005 
0006 config BLK_DEV_NVME
0007         tristate "NVM Express block device"
0008         depends on PCI && BLOCK
0009         select NVME_CORE
0010         help
0011           The NVM Express driver is for solid state drives directly
0012           connected to the PCI or PCI Express bus.  If you know you
0013           don't have one of these, it is safe to answer N.
0014 
0015           To compile this driver as a module, choose M here: the
0016           module will be called nvme.
0017 
0018 config NVME_MULTIPATH
0019         bool "NVMe multipath support"
0020         depends on NVME_CORE
0021         help
0022            This option enables support for multipath access to NVMe
0023            subsystems.  If this option is enabled only a single
0024            /dev/nvmeXnY device will show up for each NVMe namespace,
0025            even if it is accessible through multiple controllers.
0026 
0027 config NVME_VERBOSE_ERRORS
0028         bool "NVMe verbose error reporting"
0029         depends on NVME_CORE
0030         help
0031            This option enables verbose reporting for NVMe errors. The
0032            error translation table will grow the kernel image size by
0033            about 4 KB.
0034 
0035 config NVME_HWMON
0036         bool "NVMe hardware monitoring"
0037         depends on (NVME_CORE=y && HWMON=y) || (NVME_CORE=m && HWMON)
0038         help
0039           This provides support for NVMe hardware monitoring. If enabled,
0040           a hardware monitoring device will be created for each NVMe drive
0041           in the system.
0042 
0043 config NVME_FABRICS
0044         select NVME_CORE
0045         tristate
0046 
0047 config NVME_RDMA
0048         tristate "NVM Express over Fabrics RDMA host driver"
0049         depends on INFINIBAND && INFINIBAND_ADDR_TRANS && BLOCK
0050         select NVME_FABRICS
0051         select SG_POOL
0052         help
0053           This provides support for the NVMe over Fabrics protocol using
0054           the RDMA (Infiniband, RoCE, iWarp) transport.  This allows you
0055           to use remote block devices exported using the NVMe protocol set.
0056 
0057           To configure a NVMe over Fabrics controller use the nvme-cli tool
0058           from https://github.com/linux-nvme/nvme-cli.
0059 
0060           If unsure, say N.
0061 
0062 config NVME_FC
0063         tristate "NVM Express over Fabrics FC host driver"
0064         depends on BLOCK
0065         depends on HAS_DMA
0066         select NVME_FABRICS
0067         select SG_POOL
0068         help
0069           This provides support for the NVMe over Fabrics protocol using
0070           the FC transport.  This allows you to use remote block devices
0071           exported using the NVMe protocol set.
0072 
0073           To configure a NVMe over Fabrics controller use the nvme-cli tool
0074           from https://github.com/linux-nvme/nvme-cli.
0075 
0076           If unsure, say N.
0077 
0078 config NVME_TCP
0079         tristate "NVM Express over Fabrics TCP host driver"
0080         depends on INET
0081         depends on BLOCK
0082         select NVME_FABRICS
0083         select CRYPTO
0084         select CRYPTO_CRC32C
0085         help
0086           This provides support for the NVMe over Fabrics protocol using
0087           the TCP transport.  This allows you to use remote block devices
0088           exported using the NVMe protocol set.
0089 
0090           To configure a NVMe over Fabrics controller use the nvme-cli tool
0091           from https://github.com/linux-nvme/nvme-cli.
0092 
0093           If unsure, say N.
0094 
0095 config NVME_AUTH
0096         bool "NVM Express over Fabrics In-Band Authentication"
0097         depends on NVME_CORE
0098         select NVME_COMMON
0099         select CRYPTO
0100         select CRYPTO_HMAC
0101         select CRYPTO_SHA256
0102         select CRYPTO_SHA512
0103         select CRYPTO_DH
0104         select CRYPTO_DH_RFC7919_GROUPS
0105         help
0106           This provides support for NVMe over Fabrics In-Band Authentication.
0107 
0108           If unsure, say N.
0109 
0110 config NVME_APPLE
0111         tristate "Apple ANS2 NVM Express host driver"
0112         depends on OF && BLOCK
0113         depends on APPLE_RTKIT && APPLE_SART
0114         depends on ARCH_APPLE || COMPILE_TEST
0115         select NVME_CORE
0116         help
0117           This provides support for the NVMe controller embedded in Apple SoCs
0118           such as the M1.
0119 
0120           To compile this driver as a module, choose M here: the
0121           module will be called nvme-apple.