This patchset adds necessary userspace API in order to support vGICv3 live migration. GICv3 registers are accessed using device attribute ioctls, similar to GICv2. 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 (5): 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() Implement vGICv3 CPU interface access Documentation/virtual/kvm/devices/arm-vgic.txt | 72 +++++- arch/arm64/include/uapi/asm/kvm.h | 9 + arch/arm64/kvm/sys_regs.c | 73 +++--- 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 | 126 ++------- virt/kvm/arm/vgic-v3-emul.c | 342 ++++++++++++++++++++++++- virt/kvm/arm/vgic.c | 77 ++++++ virt/kvm/arm/vgic.h | 4 + 10 files changed, 573 insertions(+), 158 deletions(-) -- 2.4.4 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html