Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
at master 117 lines 3.7 kB view raw
1# SPDX-License-Identifier: GPL-2.0-only 2menuconfig INFINIBAND 3 tristate "InfiniBand support" 4 depends on HAS_IOMEM && HAS_DMA 5 depends on NET 6 depends on INET 7 depends on m || IPV6 != m 8 depends on !ALPHA 9 select DMA_SHARED_BUFFER 10 select IRQ_POLL 11 select DIMLIB 12 help 13 Core support for InfiniBand (IB). Make sure to also select 14 any protocols you wish to use as well as drivers for your 15 InfiniBand hardware. 16 17if INFINIBAND 18 19config INFINIBAND_USER_MAD 20 tristate "InfiniBand userspace MAD support" 21 depends on INFINIBAND 22 help 23 Userspace InfiniBand Management Datagram (MAD) support. This 24 is the kernel side of the userspace MAD support, which allows 25 userspace processes to send and receive MADs. You will also 26 need libibumad from rdma-core 27 <https://github.com/linux-rdma/rdma-core>. 28 29config INFINIBAND_USER_ACCESS 30 tristate "InfiniBand userspace access (verbs and CM)" 31 depends on MMU 32 help 33 Userspace InfiniBand access support. This enables the 34 kernel side of userspace verbs and the userspace 35 communication manager (CM). This allows userspace processes 36 to set up connections and directly access InfiniBand 37 hardware for fast-path operations. You will also need 38 libibverbs, libibcm and a hardware driver library from 39 rdma-core <https://github.com/linux-rdma/rdma-core>. 40 41config INFINIBAND_USER_MEM 42 bool 43 depends on INFINIBAND_USER_ACCESS != n 44 depends on MMU 45 select DMA_SHARED_BUFFER 46 default y 47 48config INFINIBAND_ON_DEMAND_PAGING 49 bool "InfiniBand on-demand paging support" 50 depends on INFINIBAND_USER_MEM 51 select MMU_NOTIFIER 52 select INTERVAL_TREE 53 select HMM_MIRROR 54 default y 55 help 56 On demand paging support for the InfiniBand subsystem. 57 Together with driver support this allows registration of 58 memory regions without pinning their pages, fetching the 59 pages on demand instead. 60 61config INFINIBAND_ADDR_TRANS 62 bool "RDMA/CM" 63 depends on INFINIBAND 64 default y 65 help 66 Support for RDMA communication manager (CM). 67 This allows for a generic connection abstraction over RDMA. 68 69config INFINIBAND_ADDR_TRANS_CONFIGFS 70 bool 71 depends on INFINIBAND_ADDR_TRANS && CONFIGFS_FS && !(INFINIBAND=y && CONFIGFS_FS=m) 72 default y 73 help 74 ConfigFS support for RDMA communication manager (CM). 75 This allows the user to config the default GID type that the CM 76 uses for each device, when initiaing new connections. 77 78config INFINIBAND_VIRT_DMA 79 def_bool !HIGHMEM 80 81if INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS 82if !UML 83source "drivers/infiniband/hw/bnxt_re/Kconfig" 84source "drivers/infiniband/hw/bng_re/Kconfig" 85source "drivers/infiniband/hw/cxgb4/Kconfig" 86source "drivers/infiniband/hw/efa/Kconfig" 87source "drivers/infiniband/hw/erdma/Kconfig" 88source "drivers/infiniband/hw/hfi1/Kconfig" 89source "drivers/infiniband/hw/hns/Kconfig" 90source "drivers/infiniband/hw/ionic/Kconfig" 91source "drivers/infiniband/hw/irdma/Kconfig" 92source "drivers/infiniband/hw/mana/Kconfig" 93source "drivers/infiniband/hw/mlx4/Kconfig" 94source "drivers/infiniband/hw/mlx5/Kconfig" 95source "drivers/infiniband/hw/mthca/Kconfig" 96source "drivers/infiniband/hw/ocrdma/Kconfig" 97source "drivers/infiniband/hw/qedr/Kconfig" 98source "drivers/infiniband/hw/usnic/Kconfig" 99source "drivers/infiniband/hw/vmw_pvrdma/Kconfig" 100source "drivers/infiniband/sw/rdmavt/Kconfig" 101endif # !UML 102source "drivers/infiniband/sw/rxe/Kconfig" 103source "drivers/infiniband/sw/siw/Kconfig" 104endif 105 106source "drivers/infiniband/ulp/ipoib/Kconfig" 107 108source "drivers/infiniband/ulp/srp/Kconfig" 109source "drivers/infiniband/ulp/srpt/Kconfig" 110 111source "drivers/infiniband/ulp/iser/Kconfig" 112source "drivers/infiniband/ulp/isert/Kconfig" 113source "drivers/infiniband/ulp/rtrs/Kconfig" 114 115source "drivers/infiniband/ulp/opa_vnic/Kconfig" 116 117endif # INFINIBAND