kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/7] KVM: arm64: Implement API for vGICv3 live migration
@ 2015-09-28 15:27 Pavel Fedin
  2015-09-28 15:27 ` [PATCH v4 1/7] KVM: arm/arm64: Move endianness conversion out of vgic_attr_regs_access() Pavel Fedin
                   ` (6 more replies)
  0 siblings, 7 replies; 14+ messages in thread
From: Pavel Fedin @ 2015-09-28 15:27 UTC (permalink / raw)
  To: kvmarm, kvm; +Cc: Peter Maydell, 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.

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

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

 Documentation/virtual/kvm/devices/arm-vgic.txt |  90 ++++++-
 arch/arm64/include/uapi/asm/kvm.h              |  11 +-
 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             |  18 +-
 virt/kvm/arm/vgic-v2-emul.c                    | 122 ++-------
 virt/kvm/arm/vgic-v3-emul.c                    | 338 ++++++++++++++++++++++++-
 virt/kvm/arm/vgic.c                            |  65 +++++
 virt/kvm/arm/vgic.h                            |   4 +
 10 files changed, 571 insertions(+), 170 deletions(-)

-- 
2.4.4


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

end of thread, other threads:[~2015-10-12 11:56 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-28 15:27 [PATCH v4 0/7] KVM: arm64: Implement API for vGICv3 live migration Pavel Fedin
2015-09-28 15:27 ` [PATCH v4 1/7] KVM: arm/arm64: Move endianness conversion out of vgic_attr_regs_access() Pavel Fedin
2015-09-28 15:27 ` [PATCH v4 2/7] KVM: arm/arm64: Refactor vGIC attributes handling code Pavel Fedin
2015-09-28 15:27 ` [PATCH v4 3/7] KVM: arm/arm64: Fix the documentation Pavel Fedin
2015-10-07 20:04   ` Christoffer Dall
2015-10-08  6:52     ` Pavel Fedin
2015-10-08  8:24       ` Christoffer Dall
2015-10-12  7:16         ` Pavel Fedin
2015-10-12 11:56           ` Christoffer Dall
2015-09-28 15:27 ` [PATCH v4 4/7] KVM: arm64: Implement vGICv3 distributor and redistributor access from userspace Pavel Fedin
2015-10-07 20:07   ` Christoffer Dall
2015-09-28 15:27 ` [PATCH v4 5/7] KVM: arm64: Refactor system register handlers Pavel Fedin
2015-09-28 15:27 ` [PATCH v4 6/7] KVM: arm64: Introduce find_reg_by_id() Pavel Fedin
2015-09-28 15:27 ` [PATCH v4 7/7] 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).