1menu "Intel MIC & related support"
2
3comment "Intel MIC Bus Driver"
4
5config INTEL_MIC_BUS
6	tristate "Intel MIC Bus Driver"
7	depends on 64BIT && PCI && X86 && X86_DEV_DMA_OPS
8	help
9	  This option is selected by any driver which registers a
10	  device or driver on the MIC Bus, such as CONFIG_INTEL_MIC_HOST,
11	  CONFIG_INTEL_MIC_CARD, CONFIG_INTEL_MIC_X100_DMA etc.
12
13	  If you are building a host/card kernel with an Intel MIC device
14	  then say M (recommended) or Y, else say N. If unsure say N.
15
16	  More information about the Intel MIC family as well as the Linux
17	  OS and tools for MIC to use with this driver are available from
18	  <http://software.intel.com/en-us/mic-developer>.
19
20comment "SCIF Bus Driver"
21
22config SCIF_BUS
23	tristate "SCIF Bus Driver"
24	depends on 64BIT && PCI && X86 && X86_DEV_DMA_OPS
25	help
26	  This option is selected by any driver which registers a
27	  device or driver on the SCIF Bus, such as CONFIG_INTEL_MIC_HOST
28	  and CONFIG_INTEL_MIC_CARD.
29
30	  If you are building a host/card kernel with an Intel MIC device
31	  then say M (recommended) or Y, else say N. If unsure say N.
32
33	  More information about the Intel MIC family as well as the Linux
34	  OS and tools for MIC to use with this driver are available from
35	  <http://software.intel.com/en-us/mic-developer>.
36
37comment "VOP Bus Driver"
38
39config VOP_BUS
40	tristate "VOP Bus Driver"
41	depends on 64BIT && PCI && X86 && X86_DEV_DMA_OPS
42	help
43	  This option is selected by any driver which registers a
44	  device or driver on the VOP Bus, such as CONFIG_INTEL_MIC_HOST
45	  and CONFIG_INTEL_MIC_CARD.
46
47	  If you are building a host/card kernel with an Intel MIC device
48	  then say M (recommended) or Y, else say N. If unsure say N.
49
50	  More information about the Intel MIC family as well as the Linux
51	  OS and tools for MIC to use with this driver are available from
52	  <http://software.intel.com/en-us/mic-developer>.
53
54comment "Intel MIC Host Driver"
55
56config INTEL_MIC_HOST
57	tristate "Intel MIC Host Driver"
58	depends on 64BIT && PCI && X86
59	depends on INTEL_MIC_BUS && SCIF_BUS && MIC_COSM && VOP_BUS
60	help
61	  This enables Host Driver support for the Intel Many Integrated
62	  Core (MIC) family of PCIe form factor coprocessor devices that
63	  run a 64 bit Linux OS. The driver manages card OS state and
64	  enables communication between host and card. Intel MIC X100
65	  devices are currently supported.
66
67	  If you are building a host kernel with an Intel MIC device then
68	  say M (recommended) or Y, else say N. If unsure say N.
69
70	  More information about the Intel MIC family as well as the Linux
71	  OS and tools for MIC to use with this driver are available from
72	  <http://software.intel.com/en-us/mic-developer>.
73
74comment "Intel MIC Card Driver"
75
76config INTEL_MIC_CARD
77	tristate "Intel MIC Card Driver"
78	depends on 64BIT && X86
79	depends on INTEL_MIC_BUS && SCIF_BUS && MIC_COSM && VOP_BUS
80	select VIRTIO
81	help
82	  This enables card driver support for the Intel Many Integrated
83	  Core (MIC) device family. The card driver communicates shutdown/
84	  crash events to the host and allows registration/configuration of
85	  virtio devices. Intel MIC X100 devices are currently supported.
86
87	  If you are building a card kernel for an Intel MIC device then
88	  say M (recommended) or Y, else say N. If unsure say N.
89
90	  For more information see
91	  <http://software.intel.com/en-us/mic-developer>.
92
93comment "SCIF Driver"
94
95config SCIF
96	tristate "SCIF Driver"
97	depends on 64BIT && PCI && X86 && SCIF_BUS && IOMMU_SUPPORT
98	select IOMMU_IOVA
99	help
100	  This enables SCIF Driver support for the Intel Many Integrated
101	  Core (MIC) family of PCIe form factor coprocessor devices that
102	  run a 64 bit Linux OS. The Symmetric Communication Interface
103	  (SCIF (pronounced as skiff)) is a low level communications API
104	  across PCIe currently implemented for MIC.
105
106	  If you are building a host kernel with an Intel MIC device then
107	  say M (recommended) or Y, else say N. If unsure say N.
108
109	  More information about the Intel MIC family as well as the Linux
110	  OS and tools for MIC to use with this driver are available from
111	  <http://software.intel.com/en-us/mic-developer>.
112
113comment "Intel MIC Coprocessor State Management (COSM) Drivers"
114
115config MIC_COSM
116	tristate "Intel MIC Coprocessor State Management (COSM) Drivers"
117	depends on 64BIT && PCI && X86 && SCIF
118	help
119	  This enables COSM driver support for the Intel Many
120	  Integrated Core (MIC) family of PCIe form factor coprocessor
121	  devices. COSM drivers implement functions such as boot,
122	  shutdown, reset and reboot of MIC devices.
123
124	  If you are building a host kernel with an Intel MIC device then
125	  say M (recommended) or Y, else say N. If unsure say N.
126
127	  More information about the Intel MIC family as well as the Linux
128	  OS and tools for MIC to use with this driver are available from
129	  <http://software.intel.com/en-us/mic-developer>.
130
131comment "VOP Driver"
132
133config VOP
134	tristate "VOP Driver"
135	depends on 64BIT && PCI && X86 && VOP_BUS
136	select VHOST_RING
137	select VIRTIO
138	help
139	  This enables VOP (Virtio over PCIe) Driver support for the Intel
140	  Many Integrated Core (MIC) family of PCIe form factor coprocessor
141	  devices. The VOP driver allows virtio drivers, e.g. net, console
142	  and block drivers, on the card connect to user space virtio
143	  devices on the host.
144
145	  If you are building a host kernel with an Intel MIC device then
146	  say M (recommended) or Y, else say N. If unsure say N.
147
148	  More information about the Intel MIC family as well as the Linux
149	  OS and tools for MIC to use with this driver are available from
150	  <http://software.intel.com/en-us/mic-developer>.
151
152if VOP
153source "drivers/vhost/Kconfig.vringh"
154endif
155
156endmenu
157