kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 0/7] KVM: arm64: Implement API for vGICv3 live migration
@ 2015-11-24  9:14 Pavel Fedin
  2015-11-24  9:14 ` [PATCH v6 1/7] KVM: arm/arm64: Add VGICv3 save/restore API documentation Pavel Fedin
                   ` (6 more replies)
  0 siblings, 7 replies; 9+ messages in thread
From: Pavel Fedin @ 2015-11-24  9:14 UTC (permalink / raw)
  To: kvmarm, kvm; +Cc: Marc Zyngier, Andre Przywara

This patchset adds necessary userspace API in order to support vGICv3 live
migration. GICv3 registers are accessed using device attribute ioctls,
similar to GICv2.

v5 => v6:
- Rebased on top of linux-next of 23.11.2015
- Use original API documentation patch, with minor changes only.
- Quit reusing KVM_DEV_ARM_VGIC_CPUID_MASK, do not touch vGICv2 API at all.
- Fixed some issues reported by the new checkpatch

v4 => v5:
- Adapted to new API by Peter Maydell, Marc Zyngier and Christoffer Dall.
  Acked-by's on the documentation were dropped, just in case, because i
  slightly adjusted it. Additionally, i merged all doc updates into one
  patch.

v3 => v4:
- Split pure refactoring from anything else
- Documentation brought up to date
- Cleaned up 'mmio' structure usage in vgic_attr_regs_access(),
  use call_range_handler() for 64-bit access handling
- Rebased on new linux-next

v2 => v3:
- KVM_DEV_ARM_VGIC_CPUID_MASK enlarged to 20 bits, allowing more than 256
  CPUs.
- Bug fix: Correctly set mmio->private, necessary for redistributor access.
- Added accessors for ICC_AP0R and ICC_AP1R registers
- Rebased on new linux-next

v1 => v2:
- Do not use generic register get/set API for CPU interface, use only
  device attributes.
- Introduce size specifier for distributor and redistributor register
  accesses, do not assume size any more.
- Lots of refactor and reusable code extraction.
- Added forgotten documentation

Christoffer Dall (1):
  KVM: arm/arm64: Add VGICv3 save/restore API documentation

Pavel Fedin (6):
  KVM: arm/arm64: Move endianness conversion out of
    vgic_attr_regs_access()
  KVM: arm/arm64: Refactor vGIC attributes handling code
  KVM: arm64: Implement vGICv3 distributor and redistributor access from
    userspace
  KVM: arm64: Refactor system register handlers
  KVM: arm64: Introduce find_reg_by_id()
  KVM: arm64: Implement vGICv3 CPU interface access

 Documentation/virtual/kvm/devices/arm-vgic-v3.txt | 116 ++++++++
 Documentation/virtual/kvm/devices/arm-vgic.txt    |  21 +-
 arch/arm64/include/uapi/asm/kvm.h                 |  15 +-
 arch/arm64/kvm/sys_regs.c                         |  83 +++---
 arch/arm64/kvm/sys_regs.h                         |   8 +-
 arch/arm64/kvm/sys_regs_generic_v8.c              |   2 +-
 include/linux/irqchip/arm-gic-v3.h                |  19 +-
 virt/kvm/arm/vgic-v2-emul.c                       | 124 ++------
 virt/kvm/arm/vgic-v3-emul.c                       | 342 +++++++++++++++++++++-
 virt/kvm/arm/vgic.c                               |  57 ++++
 virt/kvm/arm/vgic.h                               |   3 +
 11 files changed, 616 insertions(+), 174 deletions(-)
 create mode 100644 Documentation/virtual/kvm/devices/arm-vgic-v3.txt

-- 
2.4.4

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2015-11-24 17:57 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-24  9:14 [PATCH v6 0/7] KVM: arm64: Implement API for vGICv3 live migration Pavel Fedin
2015-11-24  9:14 ` [PATCH v6 1/7] KVM: arm/arm64: Add VGICv3 save/restore API documentation Pavel Fedin
2015-11-24  9:14 ` [PATCH v6 2/7] KVM: arm/arm64: Move endianness conversion out of vgic_attr_regs_access() Pavel Fedin
2015-11-24  9:14 ` [PATCH v6 3/7] KVM: arm/arm64: Refactor vGIC attributes handling code Pavel Fedin
2015-11-24  9:14 ` [PATCH v6 4/7] KVM: arm64: Implement vGICv3 distributor and redistributor access from userspace Pavel Fedin
2015-11-24 17:56   ` kbuild test robot
2015-11-24  9:14 ` [PATCH v6 5/7] KVM: arm64: Refactor system register handlers Pavel Fedin
2015-11-24  9:14 ` [PATCH v6 6/7] KVM: arm64: Introduce find_reg_by_id() Pavel Fedin
2015-11-24  9:14 ` [PATCH v6 7/7] KVM: arm64: Implement vGICv3 CPU interface access Pavel Fedin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).