qemu/include/hw
Jason Wang c471ad0e9b vhost_net: device IOTLB support
This patches implements Device IOTLB support for vhost kernel. This is
done through:

1) switch to use dma helpers when map/unmap vrings from vhost codes
2) introduce a set of VhostOps to:
   - setting up device IOTLB request callback
   - processing device IOTLB request
   - processing device IOTLB invalidation
2) kernel support for Device IOTLB API:

- allow vhost-net to query the IOMMU IOTLB entry through eventfd
- enable the ability for qemu to update a specified mapping of vhost
- through ioctl.
- enable the ability to invalidate a specified range of iova for the
  device IOTLB of vhost through ioctl. In x86/intel_iommu case this is
  triggered through iommu memory region notifier from device IOTLB
  invalidation descriptor processing routine.

With all the above, kernel vhost_net can co-operate with userspace
IOMMU. For vhost-user, the support could be easily done on top by
implementing the VhostOps.

Cc: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2017-01-18 22:59:53 +02:00
..
acpi memhp: don't generate memory hotplug AML if it's not enabled/supported 2017-01-10 07:03:24 +02:00
adc STM32F2xx: Add the ADC device 2016-10-04 13:28:07 +01:00
arm hw/arm/virt: remove VirtGuestInfo 2017-01-09 11:40:23 +00:00
audio
block
char char: use qemu_chr_fe* functions with CharBackend argument 2016-10-24 15:27:21 +02:00
core generic-loader: Add a generic loader 2016-10-04 13:28:09 +01:00
cpu
cris
display
dma
gpio
i2c i2c: Allow I2C devices to NAK start events 2017-01-09 11:40:20 +00:00
i386 intel_iommu: support device iotlb descriptor 2017-01-10 05:56:58 +02:00
ide ide: Fix memory leak in ide_register_restart_cb() 2016-09-29 15:50:29 -04:00
input
intc * Thread Sanitizer fixes (Alex) 2016-10-10 10:39:29 +01:00
ipack
ipmi
isa
kvm
lm32 intc: make HMP 'info irq' and 'info pic' commands use InterruptStatsProvider interface 2016-10-04 10:00:25 +02:00
m68k Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
mem nvdimm acpi: rename nvdimm_acpi_hotplug 2016-11-15 17:20:37 +02:00
mips Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
misc aspeed: add the definitions for the AST2400 A1 SoC 2016-12-27 14:59:28 +00:00
net
nvram nvram: Rename openbios_firmware_abi.h into sun_nvram.h 2016-10-28 09:36:58 +11:00
pci pcie_aer: support configurable AER capa version 2017-01-10 07:02:52 +02:00
pci-host spapr: Fix 2.7<->2.8 migration of PCI host bridge 2016-11-23 12:00:48 +11:00
ppc Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
s390x
scsi
sd
sh4 Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
smbios
sparc intc: make HMP 'info irq' and 'info pic' commands use InterruptStatsProvider interface 2016-10-04 10:00:25 +02:00
ssi aspeed: move the flash module mapping address under the controller definition 2016-10-17 19:22:16 +01:00
timer arm_mptimer: Convert to use ptimer 2016-10-24 16:26:53 +01:00
tricore
unicore32
usb
vfio vfio: Pass an error object to vfio_get_device 2016-10-17 10:58:00 -06:00
virtio vhost_net: device IOTLB support 2017-01-18 22:59:53 +02:00
watchdog
xen xen: create qdev for each backend device 2016-11-22 10:29:39 -08:00
boards.h cpu: Support a target CPU having a variable page size 2016-10-24 16:26:49 +01:00
bt.h bt-hci-csr: drop unused argument 2016-10-08 09:02:19 +03:00
compat.h hw/arm/virt: add 2.9 machine type 2016-12-27 14:59:26 +00:00
devices.h
elf_ops.h
empty_slot.h
fw-path-provider.h
hotplug.h qdev: hotplug: drop HotplugHandler.post_plug callback 2016-11-15 17:20:37 +02:00
hw.h
ide.h
irq.h
loader.h loader: fix handling of custom address spaces when adding ROM blobs 2016-11-30 04:20:57 +02:00
nmi.h
or-irq.h irq: Add a new irq device that allows the ORing of lines 2016-10-04 13:28:07 +01:00
pcmcia.h
platform-bus.h
ptimer.h hw/ptimer: Add "no counter round down" policy 2016-10-24 16:26:52 +01:00
qdev-core.h
qdev-dma.h
qdev-properties.h char: replace PROP_CHR with CharBackend 2016-10-24 15:27:20 +02:00
qdev.h
register.h
stream.h
sysbus.h
usb.h