qemu/hw
David Gibson c10325d6f9 spapr_iommu: Provide a function to switch a TCE table to allowing VFIO
Because of the way non-VFIO guest IOMMU operations are KVM accelerated, not
all TCE tables (guest IOMMU contexts) can support VFIO devices.  Currently,
this is decided at creation time.

To support hotplug of VFIO devices, we need to allow a TCE table which
previously didn't allow VFIO devices to be switched so that it can.  This
patch adds an spapr_tce_set_need_vfio() function to do this, by
reallocating the table in userspace if necessary.

Currently this doesn't allow the KVM acceleration to be re-enabled if all
the VFIO devices are removed.  That's an optimization for another time.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Laurent Vivier <lvivier@redhat.com>
2015-10-23 10:38:10 +11:00
..
9pfs coroutine: move into libqemuutil.a library 2015-10-20 14:59:04 +01:00
acpi hw/acpi/ich9: clean up stale comment about KVM not supporting SMM 2015-07-27 22:44:47 +03:00
alpha Use DEFINE_MACHINE() to register all machines 2015-09-19 16:40:15 +02:00
arm Enable fw_cfg DMA interface for ARM 2015-10-19 15:26:53 +02:00
audio Remove macros IO_READ_PROTO and IO_WRITE_PROTO 2015-10-19 09:03:53 +02:00
block block: switch from g_slice allocator to malloc 2015-10-12 11:17:45 +01:00
bt bt: remove muldiv64() 2015-09-25 14:56:22 +02:00
char hw: char: Remove unnecessary variable 2015-10-08 19:46:47 +03:00
core Use DEFINE_MACHINE() to register all machines 2015-09-19 16:40:15 +02:00
cpu icc_bus: drop the unused files 2015-10-02 16:22:02 -03:00
cris cris: Remove ELF_MACHINE from cpu.h 2015-09-25 12:04:43 +02:00
display vmsvga: more cursor checks 2015-10-20 09:26:36 +02:00
dma * Support for jemalloc 2015-09-14 16:13:16 +01:00
gpio i.MX: Add GPIO device 2015-09-14 14:39:49 +01:00
i2c i.MX: Add I2C controller emulator 2015-09-07 10:39:30 +01:00
i386 vhost, pc, virtio features, fixes, cleanups 2015-10-22 12:41:44 +01:00
ide hw/ide/ahci.c: Fix shift left into sign bit 2015-10-18 11:00:40 +01:00
input virtio-input: ignore events until the guest driver is ready 2015-10-20 08:53:40 +02:00
intc s/cpu_get_real_ticks/cpu_get_host_ticks/ 2015-10-08 19:46:01 +03:00
ipack pci: Trivial device model conversions to realize 2015-02-26 12:42:16 +01:00
isa hw/isa/lpc_ich9: inject the SMI on the VCPU that is writing to APM_CNT 2015-10-22 14:39:09 +03:00
lm32 lm32: Remove ELF_MACHINE from cpu.h 2015-09-25 12:04:43 +02:00
m68k m68k: Remove ELF_MACHINE from cpu.h 2015-09-25 12:04:43 +02:00
mem pc-dimm: add vhost slots limit check before commiting to hotplug 2015-10-22 14:34:48 +03:00
microblaze mb: Remove ELF_MACHINE from cpu.h 2015-09-25 12:04:43 +02:00
mips * First batch of MAINTAINERS updates 2015-09-25 21:52:30 +01:00
misc misc: zynq_slcr: Fix MMIO writes 2015-10-16 13:13:47 +01:00
moxie moxie: Remove ELF_MACHINE from cpu.h 2015-09-25 12:04:43 +02:00
net vhost user: add rarp sending after live migration for legacy guest 2015-10-22 14:34:49 +03:00
nvram fw_cfg: Define a static signature to be returned on DMA port reads 2015-10-19 15:26:54 +02:00
openrisc * First batch of MAINTAINERS updates 2015-09-25 21:52:30 +01:00
pci hw/pci: Introduce pci_requester_id() 2015-10-19 10:13:07 +02:00
pci-bridge hw/pci-bridge: format special OFW unit address for PXB host 2015-06-23 22:58:36 +02:00
pci-host piix: fix resource leak reported by Coverity 2015-10-22 14:34:50 +03:00
pcmcia hw: do not pass NULL to memory_region_init from instance_init 2015-10-09 15:25:56 +02:00
ppc spapr_iommu: Provide a function to switch a TCE table to allowing VFIO 2015-10-23 10:38:10 +11:00
s390x s390x/cmma: clean up cmma reset 2015-10-21 12:21:30 +02:00
scsi vhost, pc, virtio features, fixes, cleanups 2015-10-22 12:41:44 +01:00
sd sdhci.c: Limit the maximum block size 2015-10-12 11:17:45 +01:00
sh4 Use DEFINE_MACHINE() to register all machines 2015-09-19 16:40:15 +02:00
smbios smbios: add smbios 3.0 support 2015-09-07 10:39:28 +01:00
sparc sparc: Remove ELF_MACHINE from cpu.h 2015-09-25 12:04:44 +02:00
sparc64 sparc: Remove ELF_MACHINE from cpu.h 2015-09-25 12:04:44 +02:00
ssi arm: Use g_new() & friends where that makes obvious sense 2015-09-07 10:39:27 +01:00
timer hw: timer: Remove unnecessary variable 2015-10-08 19:46:47 +03:00
tpm maint: remove unused include for dirent.h 2015-09-11 10:21:38 +03:00
tricore tricore: Remove ELF_MACHINE from cpu.h 2015-09-25 12:04:44 +02:00
unicore32 Use DEFINE_MACHINE() to register all machines 2015-09-19 16:40:15 +02:00
usb usb-audio: increate default buffer size 2015-10-20 09:15:23 +02:00
vfio kvm: Pass PCI device pointer to MSI routing functions 2015-10-19 10:13:07 +02:00
virtio vhost, pc, virtio features, fixes, cleanups 2015-10-22 12:41:44 +01:00
watchdog i6300esb: remove muldiv64() 2015-09-25 14:52:17 +02:00
xen typofixes - v4 2015-09-11 10:45:43 +03:00
xenpv Use DEFINE_MACHINE() to register all machines 2015-09-19 16:40:15 +02:00
xtensa target-xtensa: xtfpga: attach FLASH to system IO 2015-10-21 21:28:33 +03:00
Makefile.objs smbios: move smbios code into a common folder 2015-08-13 14:08:30 +03:00