Here's my current qemu s390x irqfd patchset. Unless there are objections, I'll send a pull request once 2.0 has been released.
Changes from v3: - rebased against current master - first patch is now a proper kernel header update - in patch 5, make indicators->map a uint64_t instead of void *; this saves useless casting and fixes a 32 bit compile error Changes from v2: - rebased against current master - use object_resolve_path() to grab the flic - more explicit return code check for enabling KVM_CAP_S390_IRQCHIP Changes from v1: - rebased against current master - pick up changed capability numbers from the kvm patchset - use c99 struct initializers in patch 3 - adapter interrupts are already upstream The git branch at https://github.com/cohuck/qemu.git s390x-irqfd has been updated accordingly. Cornelia Huck (5): linux-headers: update kvm: add kvm_enable_cap_{vm,vcpu} s390x: Add I/O adapter registration. s390x/virtio-ccw: reference-counted indicators s390x/virtio-ccw: Wire up irq routing and irqfds. hw/intc/s390_flic.c | 59 +++++++++++ hw/s390x/css.c | 51 +++++++++ hw/s390x/css.h | 4 + hw/s390x/virtio-ccw.c | 239 +++++++++++++++++++++++++++++++++++++----- hw/s390x/virtio-ccw.h | 16 ++- include/hw/s390x/adapter.h | 23 ++++ include/qemu/typedefs.h | 1 + include/sysemu/kvm.h | 6 ++ kvm-all.c | 57 +++++++++- kvm-stub.c | 5 + linux-headers/asm-s390/kvm.h | 24 +++++ linux-headers/linux/kvm.h | 17 +++ target-s390x/cpu.h | 33 ++++++ target-s390x/kvm.c | 5 + 14 files changed, 511 insertions(+), 29 deletions(-) create mode 100644 include/hw/s390x/adapter.h -- 1.7.9.5