qemu-patch-raspberry4/hw
Jason Wang 9824d2a39d virtio-pci: introduce pio notification capability for modern device
We used to use mmio for notification. This could be slow on some arch
(e.g on x86 without EPT). So this patch introduces pio bar and a pio
notification cap for modern device. This ability is enabled through
property "modern-pio-notify" for virtio pci devices and was disabled
by default. Management can enable when it thinks it was needed.

Benchmarks shows almost no obvious difference compared to legacy
device on machines without ept. Thanks Wenli Quan <wquan@redhat.com>
for the benchmarking.

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>
2015-11-12 15:49:32 +02:00
..
9pfs coroutine: move into libqemuutil.a library 2015-10-20 14:59:04 +01:00
acpi hw/acpi/aml-build: remove useless glib version check 2015-11-06 15:42:37 +03:00
alpha Use DEFINE_MACHINE() to register all machines 2015-09-19 16:40:15 +02:00
arm hw/arm/virt: error_report cleanups 2015-11-10 13:37:33 +00:00
audio Remove macros IO_READ_PROTO and IO_WRITE_PROTO 2015-10-19 09:03:53 +02:00
block virtio: sync the dataplane vring state to the virtqueue before virtio_save 2015-10-29 17:59:27 +00:00
bt bt: fix use of uninitialized variable seqlen 2015-11-06 15:42:38 +03:00
char input: Convert to new qapi union layout 2015-11-02 08:30:28 +01:00
core qdev: provide qdev_reset_all_fn() 2015-11-11 17:21:39 +01: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 qxl: Use g_new() & friends where that makes obvious sense 2015-11-06 15:42:38 +03:00
dma hw/dma/pxa2xx: Remove superfluous memset 2015-11-06 15:42:38 +03:00
gpio i.MX: Standardize i.MX GPIO debug 2015-10-27 15:59:46 +00:00
i2c i.MX: Standardize i.MX I2C debug 2015-10-27 15:59:46 +00:00
i386 error: More error_setg() usage 2015-11-11 18:56:26 +01:00
ide ahci: Add allwinner AHCI 2015-11-06 14:09:01 -05:00
input hw/input/tsc210x: Remove superfluous memset 2015-11-06 15:42:38 +03:00
intc hw/intc/arm_gic: Remove the definition of NUM_CPU 2015-11-10 13:37:33 +00: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 ui/opengl: Reduce build required libraries for opengl 2015-11-03 10:13:42 +01:00
m68k m68k: Remove ELF_MACHINE from cpu.h 2015-09-25 12:04:43 +02:00
mem memory: Convert to new qapi union layout 2015-11-02 08:30:28 +01:00
microblaze mb: Remove ELF_MACHINE from cpu.h 2015-09-25 12:04:43 +02:00
mips hw/mips_malta: Fix KVM PC initialisation 2015-10-30 13:30:14 +00:00
misc i.MX: Standardize i.MX CCM debug 2015-10-27 15:59:46 +00:00
moxie moxie: Remove ELF_MACHINE from cpu.h 2015-09-25 12:04:43 +02:00
net error: More error_setg() usage 2015-11-11 18:56:26 +01:00
nvram macio-nvram: add to misc category 2015-10-23 12:35:18 +11:00
openrisc * First batch of MAINTAINERS updates 2015-09-25 21:52:30 +01:00
pci fix bad indentation in pcie_cap_slot_write_config() 2015-11-06 15:42:38 +03:00
pci-bridge hw/pci-bridge: format special OFW unit address for PXB host 2015-06-23 22:58:36 +02:00
pci-host uninorth: add to bridge category 2015-10-23 12:35:18 +11:00
pcmcia hw: do not pass NULL to memory_region_init from instance_init 2015-10-09 15:25:56 +02:00
ppc spapr: Handle failure of KVM_PPC_ALLOCATE_HTAB ioctl 2015-11-11 13:29:04 +11:00
s390x s390: deprecate the non-ccw machine in 2.5 2015-11-11 17:21:39 +01:00
scsi * Guest ABI fixes for PC machines (hw_version) 2015-11-05 14:31:24 +00:00
sd sdhci: Split sdhci.h for public and internal device usage 2015-10-29 17:59:27 +00: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/hpet.c: Avoid signed integer overflow which results in bugs on OSX 2015-11-09 15:48:21 +00: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: Use g_new() & friends where that makes obvious sense 2015-11-06 15:42:38 +03:00
vfio vfio: Use g_new() & friends where that makes obvious sense 2015-11-10 12:11:08 -07:00
virtio virtio-pci: introduce pio notification capability for modern device 2015-11-12 15:49:32 +02:00
watchdog i6300esb: remove muldiv64() 2015-09-25 14:52:17 +02:00
xen xen: fix invalid assertion 2015-11-06 15:42:38 +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