mbox series

[00/13] spapr: add KVM support to the XIVE interrupt mode

Message ID 20190107183946.7230-1-clg@kaod.org
Headers show
Series spapr: add KVM support to the XIVE interrupt mode | expand

Message

Cédric Le Goater Jan. 7, 2019, 6:39 p.m. UTC
Hello,

Following the 'dual' IRQ backend, this series adds KVM support to the
XIVE interrupt mode.

The first patches introduce the XIVE KVM device, state synchronization
and migration support under KVM. The second part of the patchset
modifies the XICS and XIVE interrupt models to add KVM support to the
'dual' IRQ backend.

This is a first round to check that the interfaces with Linux/KVM are
well in place. 

GitHub trees available here :
 
QEMU sPAPR:

  https://github.com/legoater/qemu/commits/xive-next
  
Linux/KVM:

  https://github.com/legoater/linux/commits/xive-5.0

OPAL:

  https://github.com/legoater/skiboot/commits/xive

Thanks,

C.

Cédric Le Goater (13):
  linux-headers: update to 5.0
  spapr/xive: add KVM support
  spapr/xive: add state synchronization with KVM
  spapr/xive: introduce a VM state change handler
  spapr/xive: add migration support for KVM
  spapr/xive: fix migration of the XiveTCTX under TCG
  ppc/xics: introduce a icp_kvm_connect() routine
  spapr/rtas: modify spapr_rtas_register() to remove RTAS handlers
  sysbus: add a sysbus_mmio_unmap() helper
  spapr: introduce routines to delete the KVM IRQ device
  spapr: check for the activation of the KVM IRQ device
  spapr/xics: ignore the lower 4K in the IRQ number space
  spapr: add KVM support to the 'dual' machine

 default-configs/ppc64-softmmu.mak |   1 +
 include/hw/ppc/spapr.h            |   4 +
 include/hw/ppc/spapr_xive.h       |  26 +
 include/hw/ppc/xics.h             |   1 +
 include/hw/ppc/xive.h             |  24 +
 include/hw/sysbus.h               |   1 +
 linux-headers/asm-powerpc/kvm.h   |  46 ++
 linux-headers/linux/kvm.h         |   9 +
 target/ppc/kvm_ppc.h              |   6 +
 hw/core/sysbus.c                  |  10 +
 hw/intc/spapr_xive.c              |  83 ++-
 hw/intc/spapr_xive_kvm.c          | 886 ++++++++++++++++++++++++++++++
 hw/intc/xics_kvm.c                | 154 +++++-
 hw/intc/xive.c                    |  45 +-
 hw/ppc/spapr_irq.c                | 114 +++-
 hw/ppc/spapr_rtas.c               |   2 +-
 target/ppc/kvm.c                  |   7 +
 hw/intc/Makefile.objs             |   1 +
 18 files changed, 1363 insertions(+), 57 deletions(-)
 create mode 100644 hw/intc/spapr_xive_kvm.c