On Wed, Sep 02, 2015 at 11:25:17AM +0800, Jason Wang wrote: > Hi all: > > This series tries to fix the following issues: > > - qemu abort when trying to adjust endianness for zero length eventfd, > this prevent fast mmio eventfd from being used in ppc. Fixing by > skip the endianness adjustment for zero length eventfd. > - 1.0 mmio is slow since it was using datamatch eventfd. Fixing this > by usinng wildcard mmio eventfd, then we could get speed up through > kernel fast mmio bus on ept capable machine. > - 1.0 mmio is slow compared to pio (at least on some > archs/setups). Fixing this by re-introducing pio notification > capability. This will be useful for the arch/setups that fast mmio > does not work. > - Some virtio pci 1.0 fields were not migrated. This will cause > unexpected behaviour if migrate during driver initialization. Fixing > this by introduce a transport specific callback and get/put > transport specific fields for virtio 1.0. > - queue_enable read was broken. Fixing by set the queue_enable to true > during guest write and clear it during reset. > > Please review. > Thanks
Wanted to merge this, but it needs to be rebased to latest master. Pls do, and repost. > Changes from V1: > - skip zero length eventfd endianness adjustment > - don't use pci specific name ("modern") in virtio core, using "extra" > instead and in virtio pci callback, using subsections which could > allow us to extend the future improvement without changing the core. > - don't check virtio_virtqueue_needed() in virtio_extra_state_needed() > - drop the ppc 2.5 machine type patch > - squash Eduardo's 2.5 machine type patches into this series > > Eduardo Habkost (3): > q35: Move options common to all classes to pc_q35_machine_options() > q35: Move options common to all classes to pc_i440fx_machine_options() > pc: Introduce pc-*-2.5 machine classes > > Jason Wang (5): > virtio-pci: fix 1.0 virtqueue migration > memory: don't try to adjust endianness for zero length eventfd > virtio-pci: use wildcard mmio eventfd for 1.0 notification cap > virtio-pci: introduce pio notification capability for modern device > virtio-pci: unbreak queue_enable read > > hw/i386/pc_piix.c | 18 ++- > hw/i386/pc_q35.c | 20 +++- > hw/virtio/virtio-pci.c | 266 > +++++++++++++++++++++++++++++++++++++---- > hw/virtio/virtio-pci.h | 30 +++-- > hw/virtio/virtio.c | 57 +++++++++ > include/hw/compat.h | 7 ++ > include/hw/i386/pc.h | 4 + > include/hw/virtio/virtio-bus.h | 3 + > memory.c | 8 +- > 9 files changed, 375 insertions(+), 38 deletions(-) > > -- > 2.1.4