qemu-patch-raspberry4/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 STM32F2xx: Add the ADC device 2016-10-04 13:28:07 +01:00
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 generic-loader: Add a generic loader 2016-10-04 13:28:09 +01:00
cpu hw: remove "qemu/osdep.h" from header files 2017-12-18 17:07:02 +03:00
cris char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
display hw/display/vga: extract public API from i386/pc to "hw/display/vga.h" 2017-12-18 17:07:02 +03:00
dma include: Fix typos found by codespell 2017-01-24 23:26:52 +03:00
gpio bcm2835_gpio: add bcm2835 gpio controller 2017-02-28 17:10:00 +00:00
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 ps2: add and use PS2State typedef 2017-06-23 11:51:50 +02:00
intc Miscellaneous patches for 2018-02-07 2018-02-09 14:39:09 +00:00
ipack ipack: Update e-mail address 2016-05-18 15:04:27 +03:00
ipmi ipmi: introduce an ipmi_bmc_gen_event() API 2017-04-26 12:41:55 +10:00
isa i8259: generalize statistics into common code 2017-12-21 09:30:32 +01:00
kvm hw: move headers to include/ 2013-04-08 18:13:10 +02:00
lm32 intc: make HMP 'info irq' and 'info pic' commands use InterruptStatsProvider interface 2016-10-04 10:00:25 +02:00
m68k hw/char/mcf_uart: QOMify the ColdFire UART 2017-02-16 14:06:56 +01:00
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 char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
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 Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02:00
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 memory/iommu: QOM'fy IOMMU MemoryRegion 2017-07-14 12:04:41 +02:00
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 char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
compat.h virtio-blk: enable multiple vectors when using multiple I/O queues 2018-02-08 21:06:41 +02:00
devices.h sm501: QOMify 2017-04-24 12:32:12 +01:00
elf_ops.h loader: Ignore zero-sized ELF segments 2017-09-04 15:21:53 +01:00
empty_slot.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
fw-path-provider.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
hotplug.h qdev: hotplug: drop HotplugHandler.post_plug callback 2016-11-15 17:20:37 +02:00
hw.h migration: Split qemu-file.h 2017-06-01 18:49:22 +02:00
ide.h xen-platform: add missing disk unplug option 2017-01-27 15:23:29 -08:00
irq.h irq: Remove qemu_irq_intercept_out 2014-10-23 16:41:25 +02:00
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 Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
or-irq.h include/hw/or-irq.h: Drop unused in_irqs field 2017-10-16 21:09:15 +03:00
pcmcia.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
platform-bus.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
ptimer.h include/hw/ptimer.h: Add documentation comments 2017-07-11 17:44:27 +03:00
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: Remove hex8/32/64 property types 2014-02-14 21:12:04 +01:00
qdev-properties.h qapi: Create DEFINE_PROP_OFF_AUTO_PCIBAR 2018-02-06 11:08:26 -07:00
qdev.h hw: move headers to include/ 2013-04-08 18:13:10 +02:00
register.h hw/registerfields.h: Pull FIELD etc macros out of hw/register.h 2017-01-27 15:20:21 +00:00
registerfields.h Use #include "..." for our own headers, <...> for others 2018-02-09 05:05:11 +01:00
stream.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
sysbus.h sysbus: Remove ignored return value of FindSysbusDeviceFunc 2016-09-27 17:03:34 -03:00
usb.h usb: Remove legacy -usbdevice options (host, serial, disk and net) 2018-01-26 07:15:08 +01:00