[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
- [Qemu-ppc] [PATCH v2 00/13] spapr: add KVM support to the XIVE interrupt mode,
Cédric Le Goater <=
- [Qemu-ppc] [PATCH v2 04/13] spapr/xive: add state synchronization with KVM, Cédric Le Goater, 2019/02/22
- [Qemu-ppc] [PATCH v2 05/13] spapr/xive: introduce a VM state change handler, Cédric Le Goater, 2019/02/22
- [Qemu-ppc] [PATCH v2 07/13] spapr/xive: fix migration of the XiveTCTX under TCG, Cédric Le Goater, 2019/02/22
- [Qemu-ppc] [PATCH v2 11/13] spapr: check for the activation of the KVM IRQ device, Cédric Le Goater, 2019/02/22
- [Qemu-ppc] [PATCH v2 12/13] spapr: add KVM support to the 'dual' machine, Cédric Le Goater, 2019/02/22