| .. | .. |
|---|
| 1 | +# SPDX-License-Identifier: GPL-2.0-only |
|---|
| 1 | 2 | menuconfig INFINIBAND |
|---|
| 2 | 3 | tristate "InfiniBand support" |
|---|
| 3 | 4 | depends on HAS_IOMEM && HAS_DMA |
|---|
| .. | .. |
|---|
| 6 | 7 | depends on m || IPV6 != m |
|---|
| 7 | 8 | depends on !ALPHA |
|---|
| 8 | 9 | select IRQ_POLL |
|---|
| 9 | | - ---help--- |
|---|
| 10 | + select DIMLIB |
|---|
| 11 | + help |
|---|
| 10 | 12 | Core support for InfiniBand (IB). Make sure to also select |
|---|
| 11 | 13 | any protocols you wish to use as well as drivers for your |
|---|
| 12 | 14 | InfiniBand hardware. |
|---|
| .. | .. |
|---|
| 16 | 18 | config INFINIBAND_USER_MAD |
|---|
| 17 | 19 | tristate "InfiniBand userspace MAD support" |
|---|
| 18 | 20 | depends on INFINIBAND |
|---|
| 19 | | - ---help--- |
|---|
| 21 | + help |
|---|
| 20 | 22 | Userspace InfiniBand Management Datagram (MAD) support. This |
|---|
| 21 | 23 | is the kernel side of the userspace MAD support, which allows |
|---|
| 22 | 24 | userspace processes to send and receive MADs. You will also |
|---|
| .. | .. |
|---|
| 25 | 27 | |
|---|
| 26 | 28 | config INFINIBAND_USER_ACCESS |
|---|
| 27 | 29 | tristate "InfiniBand userspace access (verbs and CM)" |
|---|
| 28 | | - ---help--- |
|---|
| 30 | + depends on MMU |
|---|
| 31 | + help |
|---|
| 29 | 32 | Userspace InfiniBand access support. This enables the |
|---|
| 30 | 33 | kernel side of userspace verbs and the userspace |
|---|
| 31 | 34 | communication manager (CM). This allows userspace processes |
|---|
| .. | .. |
|---|
| 33 | 36 | hardware for fast-path operations. You will also need |
|---|
| 34 | 37 | libibverbs, libibcm and a hardware driver library from |
|---|
| 35 | 38 | rdma-core <https://github.com/linux-rdma/rdma-core>. |
|---|
| 36 | | - |
|---|
| 37 | | -config INFINIBAND_USER_ACCESS_UCM |
|---|
| 38 | | - tristate "Userspace CM (UCM, DEPRECATED)" |
|---|
| 39 | | - depends on BROKEN || COMPILE_TEST |
|---|
| 40 | | - depends on INFINIBAND_USER_ACCESS |
|---|
| 41 | | - help |
|---|
| 42 | | - The UCM module has known security flaws, which no one is |
|---|
| 43 | | - interested to fix. The user-space part of this code was |
|---|
| 44 | | - dropped from the upstream a long time ago. |
|---|
| 45 | | - |
|---|
| 46 | | - This option is DEPRECATED and planned to be removed. |
|---|
| 47 | | - |
|---|
| 48 | | -config INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI |
|---|
| 49 | | - bool "Allow experimental legacy verbs in new ioctl uAPI (EXPERIMENTAL)" |
|---|
| 50 | | - depends on INFINIBAND_USER_ACCESS |
|---|
| 51 | | - ---help--- |
|---|
| 52 | | - IOCTL based uAPI support for Infiniband is enabled by default for |
|---|
| 53 | | - new verbs only. This allows userspace to invoke the IOCTL based uAPI |
|---|
| 54 | | - for current legacy verbs too. |
|---|
| 55 | 39 | |
|---|
| 56 | 40 | config INFINIBAND_USER_MEM |
|---|
| 57 | 41 | bool |
|---|
| .. | .. |
|---|
| 63 | 47 | bool "InfiniBand on-demand paging support" |
|---|
| 64 | 48 | depends on INFINIBAND_USER_MEM |
|---|
| 65 | 49 | select MMU_NOTIFIER |
|---|
| 50 | + select INTERVAL_TREE |
|---|
| 51 | + select HMM_MIRROR |
|---|
| 66 | 52 | default y |
|---|
| 67 | | - ---help--- |
|---|
| 53 | + help |
|---|
| 68 | 54 | On demand paging support for the InfiniBand subsystem. |
|---|
| 69 | 55 | Together with driver support this allows registration of |
|---|
| 70 | 56 | memory regions without pinning their pages, fetching the |
|---|
| .. | .. |
|---|
| 74 | 60 | bool "RDMA/CM" |
|---|
| 75 | 61 | depends on INFINIBAND |
|---|
| 76 | 62 | default y |
|---|
| 77 | | - ---help--- |
|---|
| 63 | + help |
|---|
| 78 | 64 | Support for RDMA communication manager (CM). |
|---|
| 79 | 65 | This allows for a generic connection abstraction over RDMA. |
|---|
| 80 | 66 | |
|---|
| .. | .. |
|---|
| 82 | 68 | bool |
|---|
| 83 | 69 | depends on INFINIBAND_ADDR_TRANS && CONFIGFS_FS && !(INFINIBAND=y && CONFIGFS_FS=m) |
|---|
| 84 | 70 | default y |
|---|
| 85 | | - ---help--- |
|---|
| 71 | + help |
|---|
| 86 | 72 | ConfigFS support for RDMA communication manager (CM). |
|---|
| 87 | 73 | This allows the user to config the default GID type that the CM |
|---|
| 88 | 74 | uses for each device, when initiaing new connections. |
|---|
| 89 | 75 | |
|---|
| 76 | +config INFINIBAND_VIRT_DMA |
|---|
| 77 | + def_bool !HIGHMEM |
|---|
| 78 | + |
|---|
| 79 | +if INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS |
|---|
| 90 | 80 | source "drivers/infiniband/hw/mthca/Kconfig" |
|---|
| 91 | 81 | source "drivers/infiniband/hw/qib/Kconfig" |
|---|
| 92 | | -source "drivers/infiniband/hw/cxgb3/Kconfig" |
|---|
| 93 | 82 | source "drivers/infiniband/hw/cxgb4/Kconfig" |
|---|
| 83 | +source "drivers/infiniband/hw/efa/Kconfig" |
|---|
| 94 | 84 | source "drivers/infiniband/hw/i40iw/Kconfig" |
|---|
| 95 | 85 | source "drivers/infiniband/hw/mlx4/Kconfig" |
|---|
| 96 | 86 | source "drivers/infiniband/hw/mlx5/Kconfig" |
|---|
| 97 | | -source "drivers/infiniband/hw/nes/Kconfig" |
|---|
| 98 | 87 | source "drivers/infiniband/hw/ocrdma/Kconfig" |
|---|
| 99 | 88 | source "drivers/infiniband/hw/vmw_pvrdma/Kconfig" |
|---|
| 100 | 89 | source "drivers/infiniband/hw/usnic/Kconfig" |
|---|
| 101 | 90 | source "drivers/infiniband/hw/hns/Kconfig" |
|---|
| 91 | +source "drivers/infiniband/hw/bnxt_re/Kconfig" |
|---|
| 92 | +source "drivers/infiniband/hw/hfi1/Kconfig" |
|---|
| 93 | +source "drivers/infiniband/hw/qedr/Kconfig" |
|---|
| 94 | +source "drivers/infiniband/sw/rdmavt/Kconfig" |
|---|
| 95 | +source "drivers/infiniband/sw/rxe/Kconfig" |
|---|
| 96 | +source "drivers/infiniband/sw/siw/Kconfig" |
|---|
| 97 | +endif |
|---|
| 102 | 98 | |
|---|
| 103 | 99 | source "drivers/infiniband/ulp/ipoib/Kconfig" |
|---|
| 104 | 100 | |
|---|
| .. | .. |
|---|
| 107 | 103 | |
|---|
| 108 | 104 | source "drivers/infiniband/ulp/iser/Kconfig" |
|---|
| 109 | 105 | source "drivers/infiniband/ulp/isert/Kconfig" |
|---|
| 106 | +source "drivers/infiniband/ulp/rtrs/Kconfig" |
|---|
| 110 | 107 | |
|---|
| 111 | 108 | source "drivers/infiniband/ulp/opa_vnic/Kconfig" |
|---|
| 112 | | -source "drivers/infiniband/sw/rdmavt/Kconfig" |
|---|
| 113 | | -source "drivers/infiniband/sw/rxe/Kconfig" |
|---|
| 114 | | - |
|---|
| 115 | | -source "drivers/infiniband/hw/hfi1/Kconfig" |
|---|
| 116 | | - |
|---|
| 117 | | -source "drivers/infiniband/hw/qedr/Kconfig" |
|---|
| 118 | | - |
|---|
| 119 | | -source "drivers/infiniband/hw/bnxt_re/Kconfig" |
|---|
| 120 | 109 | |
|---|
| 121 | 110 | endif # INFINIBAND |
|---|