qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-ppc] [PATCH v2 00/13] spapr: add KVM support to the XIVE interrupt


From: Cédric Le Goater
Subject: [Qemu-ppc] [PATCH v2 00/13] spapr: add KVM support to the XIVE interrupt mode
Date: Fri, 22 Feb 2019 14:13:09 +0100

Hello,

This is the v2 of the QEMU/KVM patchset taking into account the
remarks on the interface with Linux/KVM.

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.

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.

Change since v1:

 - Reworked most of the KVM interface
 - Reworked *All* hcalls which are now handled at the QEMU level,
   possibly extended with a KVM device ioctl when required.
 - TIMA and ESB special mapping done on the KVM device fd.
 - Tested on nested
 - Implemented the device fallback mode when a kernel_irqchip is not
   available and not required. Useful on nested to use XIVE. 
 - Fix device hotplug when VM is stopped (Is this necessary ?)

Cédric Le Goater (13):
  spapr/xive: add KVM support
  spapr/xive: add hcall support when under KVM
  spapr/xive: activate 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
  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: add KVM support to the 'dual' machine
  spapr/xive: fix device hotplug when VM is stopped

 default-configs/ppc64-softmmu.mak |   1 +
 include/hw/ppc/spapr.h            |   4 +
 include/hw/ppc/spapr_xive.h       |  39 ++
 include/hw/ppc/xics_spapr.h       |   1 +
 include/hw/ppc/xive.h             |  15 +
 include/hw/sysbus.h               |   1 +
 target/ppc/kvm_ppc.h              |   6 +
 hw/core/sysbus.c                  |  10 +
 hw/intc/spapr_xive.c              | 193 ++++++-
 hw/intc/spapr_xive_kvm.c          | 807 ++++++++++++++++++++++++++++++
 hw/intc/xics_kvm.c                | 108 +++-
 hw/intc/xive.c                    |  44 +-
 hw/ppc/spapr_irq.c                | 136 +++--
 hw/ppc/spapr_rtas.c               |   2 +-
 target/ppc/kvm.c                  |   7 +
 hw/intc/Makefile.objs             |   1 +
 16 files changed, 1315 insertions(+), 60 deletions(-)
 create mode 100644 hw/intc/spapr_xive_kvm.c

-- 
2.20.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]