mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-21 03:33:59 +08:00
f69bcbf3b4
This patch introduces the host "Virtio over PCIe" interface for Intel MIC. It allows creating user space backends on the host and instantiating virtio devices for them on the Intel MIC card. It uses the existing VRINGH infrastructure in the kernel to access virtio rings from the host. A character device per MIC is exposed with IOCTL, mmap and poll callbacks. This allows the user space backend to: (a) add/remove a virtio device via a device page. (b) map (R/O) virtio rings and device page to user space. (c) poll for availability of data. (d) copy a descriptor or entire descriptor chain to/from the card. (e) modify virtio configuration. (f) handle virtio device reset. The buffers are copied over using CPU copies for this initial patch and host initiated MIC DMA support is planned for future patches. The avail and desc virtio rings are in host memory and the used ring is in card memory to maximize writes across PCIe for performance. Co-author: Sudeep Dutt <sudeep.dutt@intel.com> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com> Signed-off-by: Caz Yokoyama <Caz.Yokoyama@intel.com> Signed-off-by: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@intel.com> Signed-off-by: Nikhil Rao <nikhil.rao@intel.com> Signed-off-by: Harshavardhan R Kharche <harshavardhan.r.kharche@intel.com> Signed-off-by: Sudeep Dutt <sudeep.dutt@intel.com> Acked-by: Yaozu (Eddie) Dong <eddie.dong@intel.com> Reviewed-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
39 lines
1.3 KiB
Plaintext
39 lines
1.3 KiB
Plaintext
comment "Intel MIC Host Driver"
|
|
|
|
config INTEL_MIC_HOST
|
|
tristate "Intel MIC Host Driver"
|
|
depends on 64BIT && PCI
|
|
select VHOST_RING
|
|
default N
|
|
help
|
|
This enables Host Driver support for the Intel Many Integrated
|
|
Core (MIC) family of PCIe form factor coprocessor devices that
|
|
run a 64 bit Linux OS. The driver manages card OS state and
|
|
enables communication between host and card. Intel MIC X100
|
|
devices are currently supported.
|
|
|
|
If you are building a host kernel with an Intel MIC device then
|
|
say M (recommended) or Y, else say N. If unsure say N.
|
|
|
|
More information about the Intel MIC family as well as the Linux
|
|
OS and tools for MIC to use with this driver are available from
|
|
<http://software.intel.com/en-us/mic-developer>.
|
|
|
|
comment "Intel MIC Card Driver"
|
|
|
|
config INTEL_MIC_CARD
|
|
tristate "Intel MIC Card Driver"
|
|
depends on 64BIT
|
|
default N
|
|
help
|
|
This enables card driver support for the Intel Many Integrated
|
|
Core (MIC) device family. The card driver communicates shutdown/
|
|
crash events to the host and allows registration/configuration of
|
|
virtio devices. Intel MIC X100 devices are currently supported.
|
|
|
|
If you are building a card kernel for an Intel MIC device then
|
|
say M (recommended) or Y, else say N. If unsure say N.
|
|
|
|
For more information see
|
|
<http://software.intel.com/en-us/mic-developer>.
|