linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 00/10] Support VGIC save/restore using device control API
@ 2013-12-17  5:29 Christoffer Dall
  2013-12-17  5:29 ` [PATCH v5 01/10] ARM: KVM: Allow creating the VGIC after VCPUs Christoffer Dall
                   ` (10 more replies)
  0 siblings, 11 replies; 14+ messages in thread
From: Christoffer Dall @ 2013-12-17  5:29 UTC (permalink / raw)
  To: linux-arm-kernel

Implement save/restore of the VGIC state using the newer KVM Device
Control API.  This requries some number of changes to existing code in
addition to actually supporting save/restore of the necessary state.

The first patches (01-03) support creating the VGIC using the Device
Control API.  This change is necessary because there are no other
suitable KVM APIs that we can leverage to access the VGIC state from
user space and the device control API was crafted exactly for this
purpose.

Subsequent patches add the missing infrastructure and user space API
pieces necessary to actually save and restore the VGIC state.  The GIC
v2.0 architecture specification already specifies registers that can be
used to save and restore the complete VGIC state for suspend/resume
purposes on real hardware, and we can reuse this interface for the
VGIC.  The API is therefore based on the memory-mapped register accesses
defined in the specs.  See the individual patches for details.

The patches are based on kvm-arm-next with the arch timers save/restore
patches applied:
git://git.linaro.org/people/cdall/linux-kvm-arm.git timer-migrate-v4

This patch series based on the above can be cloned from:
git://git.linaro.org/people/cdall/linux-kvm-arm.git vgic-migrate-v5

User space patches for QEMU have also been posted on the list, but an
updated version is underway.  Tested on Versatile Express TC2.

Changelogs in the individual patches.

Christoffer Dall (10):
  ARM: KVM: Allow creating the VGIC after VCPUs
  KVM: arm-vgic: Support KVM_CREATE_DEVICE for VGIC
  KVM: arm-vgic: Set base addr through device API
  irqchip: arm-gic: Define additional MMIO offsets and masks
  KVM: arm-vgic: Make vgic mmio functions more generic
  arm/arm64: kvm: Set vcpu->cpu to -1 on vcpu_put
  KVM: arm-vgic: Add vgic reg access from dev attr
  KVM: arm-vgic: Support unqueueing of LRs to the dist
  KVM: arm-vgic: Add GICD_SPENDSGIR and GICD_CPENDSGIR handlers
  KVM: arm-vgic: Support CPU interface reg access

 Documentation/virtual/kvm/api.txt              |   7 +-
 Documentation/virtual/kvm/devices/arm-vgic.txt |  73 ++++
 arch/arm/include/uapi/asm/kvm.h                |   8 +
 arch/arm/kvm/arm.c                             |  17 +-
 include/kvm/arm_vgic.h                         |   2 +-
 include/linux/irqchip/arm-gic.h                |  12 +
 include/linux/kvm_host.h                       |   1 +
 include/uapi/linux/kvm.h                       |   1 +
 virt/kvm/arm/vgic.c                            | 583 +++++++++++++++++++++++--
 virt/kvm/kvm_main.c                            |   5 +
 10 files changed, 672 insertions(+), 37 deletions(-)
 create mode 100644 Documentation/virtual/kvm/devices/arm-vgic.txt

-- 
1.8.5

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

end of thread, other threads:[~2013-12-21 17:54 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-17  5:29 [PATCH v5 00/10] Support VGIC save/restore using device control API Christoffer Dall
2013-12-17  5:29 ` [PATCH v5 01/10] ARM: KVM: Allow creating the VGIC after VCPUs Christoffer Dall
2013-12-17  5:29 ` [PATCH v5 02/10] KVM: arm-vgic: Support KVM_CREATE_DEVICE for VGIC Christoffer Dall
2013-12-17  5:29 ` [PATCH v5 03/10] KVM: arm-vgic: Set base addr through device API Christoffer Dall
2013-12-17  5:29 ` [PATCH v5 04/10] irqchip: arm-gic: Define additional MMIO offsets and masks Christoffer Dall
2013-12-17  5:29 ` [PATCH v5 05/10] KVM: arm-vgic: Make vgic mmio functions more generic Christoffer Dall
2013-12-17  5:29 ` [PATCH v5 06/10] arm/arm64: kvm: Set vcpu->cpu to -1 on vcpu_put Christoffer Dall
2013-12-17  5:29 ` [PATCH v5 07/10] KVM: arm-vgic: Add vgic reg access from dev attr Christoffer Dall
2013-12-17  5:29 ` [PATCH v5 08/10] KVM: arm-vgic: Support unqueueing of LRs to the dist Christoffer Dall
2013-12-21 11:00   ` Marc Zyngier
2013-12-17  5:30 ` [PATCH v5 09/10] KVM: arm-vgic: Add GICD_SPENDSGIR and GICD_CPENDSGIR handlers Christoffer Dall
2013-12-17  5:30 ` [PATCH v5 10/10] KVM: arm-vgic: Support CPU interface reg access Christoffer Dall
2013-12-21 11:15 ` [PATCH v5 00/10] Support VGIC save/restore using device control API Marc Zyngier
2013-12-21 17:54   ` Christoffer Dall

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).