qemu/include/hw
Yuval Shaia 919ae3dd11 hw/rdma: Implementation of PVRDMA device
PVRDMA is the QEMU implementation of VMware's paravirtualized RDMA device.
It works with its Linux Kernel driver AS IS, no need for any special
guest modifications.

While it complies with the VMware device, it can also communicate with
bare metal RDMA-enabled machines and does not require an RDMA HCA in the
host, it can work with Soft-RoCE (rxe).

It does not require the whole guest RAM to be pinned allowing memory
over-commit and, even if not implemented yet, migration support will be
possible with some HW assistance.

Implementation is divided into 2 components, rdma general and pvRDMA
specific functions and structures.

The second PVRDMA sub-module - interaction with PCI layer.
- Device configuration and setup (MSIX, BARs etc).
- Setup of DSR (Device Shared Resources)
- Setup of device ring.
- Device management.

Reviewed-by: Dotan Barak <dotanb@mellanox.com>
Reviewed-by: Zhu Yanjun <yanjun.zhu@oracle.com>
Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com>
Signed-off-by: Marcel Apfelbaum <marcel@redhat.com>
2018-02-19 13:03:24 +02:00
..
acpi Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
adc
arm bcm2836: Make CPU type configurable 2018-02-15 18:33:46 +00:00
audio hw/audio/wm8750: move WM8750 declarations from i2c/i2c.h to audio/wm8750.h 2018-02-02 08:19:25 +01:00
block Include qapi/qmp/qdict.h exactly where needed 2018-02-09 13:52:15 +01:00
char hw/char: remove legacy interface escc_init() 2018-02-16 12:14:26 +11:00
core
cpu hw: remove "qemu/osdep.h" from header files 2017-12-18 17:07:02 +03:00
cris
display hw/display/vga: extract public API from i386/pc to "hw/display/vga.h" 2017-12-18 17:07:02 +03:00
dma
gpio
i2c hw/audio/wm8750: move WM8750 declarations from i2c/i2c.h to audio/wm8750.h 2018-02-02 08:19:25 +01:00
i386 intel-iommu: Extend address width to 48 bits 2018-01-18 21:52:38 +02:00
ide Include qapi/error.h exactly where needed 2018-02-09 13:50:17 +01:00
input
intc Miscellaneous patches for 2018-02-07 2018-02-09 14:39:09 +00:00
ipack
ipmi
isa i8259: generalize statistics into common code 2017-12-21 09:30:32 +01:00
kvm
lm32
m68k
mem nvdimm: add 'unarmed' option 2018-01-19 11:18:51 -02:00
mips mips: malta/boston: replace cpu_model with cpu_type 2017-10-27 16:04:28 +02:00
misc cuda.h: Fix multiple typedef 2018-02-16 18:38:21 +00:00
net imx_fec: Reserve full FSL_IMX25_FEC_SIZE page for the register file 2018-01-11 13:25:38 +00:00
nvram Clean up includes 2018-02-09 05:05:11 +01:00
pci hw/rdma: Implementation of PVRDMA device 2018-02-19 13:03:24 +02:00
pci-bridge Clean up includes 2018-02-09 05:05:11 +01:00
pci-host apb: rename apb.c to sabre.c 2018-01-24 19:19:51 +00:00
ppc spapr: rename spapr_vcpu_id() to spapr_get_vcpu_id() 2018-02-16 12:14:26 +11:00
s390x Miscellaneous patches for 2018-02-07 2018-02-09 14:39:09 +00:00
scsi usb-storage: Fix share-rw option parsing 2018-01-26 07:58:34 +01:00
sd sdhci: implement CMD/DAT[] fields in the Present State register 2018-02-13 16:15:08 +01:00
sh4
smbios Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
sparc sun4u_iommu: update to reflect IOMMU is no longer part of the APB device 2018-01-09 21:48:20 +00:00
ssi xilinx_spips: Set all of the reset values 2017-12-13 17:59:26 +00:00
timer i.MX: Add i.MX7 GPT variant 2018-02-09 10:40:30 +00:00
tricore
unicore32 hw/unicore32: restrict hw addr defines to source file 2017-12-18 17:07:02 +03:00
usb usb: Add basic code to emulate Chipidea USB IP 2018-02-09 10:40:30 +00:00
vfio
virtio vhost: Clean out old vhost_set_memory and friends 2018-02-08 21:06:40 +02:00
watchdog watchdog: wdt_aspeed: Add support for the reset width register 2017-09-04 15:21:54 +01:00
xen pci: Add pci_dev_bus_num() helper 2017-12-05 19:13:45 +02:00
xtensa Clean up includes 2018-02-09 05:05:11 +01:00
boards.h possible_cpus: add CPUArchId::type field 2018-01-19 11:18:51 -02:00
bt.h
compat.h virtio-blk: enable multiple vectors when using multiple I/O queues 2018-02-08 21:06:41 +02:00
devices.h
elf_ops.h loader: Ignore zero-sized ELF segments 2017-09-04 15:21:53 +01:00
empty_slot.h
fw-path-provider.h
hotplug.h
hw.h
ide.h
irq.h
loader-fit.h Use #include "..." for our own headers, <...> for others 2018-02-09 05:05:11 +01:00
loader.h Include qapi/qmp/qdict.h exactly where needed 2018-02-09 13:52:15 +01:00
nmi.h
or-irq.h include/hw/or-irq.h: Drop unused in_irqs field 2017-10-16 21:09:15 +03:00
pcmcia.h
platform-bus.h
ptimer.h
qdev-core.h Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
qdev-dma.h
qdev-properties.h qapi: Create DEFINE_PROP_OFF_AUTO_PCIBAR 2018-02-06 11:08:26 -07:00
qdev.h
register.h
registerfields.h Use #include "..." for our own headers, <...> for others 2018-02-09 05:05:11 +01:00
stream.h
sysbus.h
usb.h usb: Remove legacy -usbdevice options (host, serial, disk and net) 2018-01-26 07:15:08 +01:00