From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35036) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZpGS7-0000KQ-HP for qemu-devel@nongnu.org; Thu, 22 Oct 2015 10:02:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZpGS2-0008GU-IN for qemu-devel@nongnu.org; Thu, 22 Oct 2015 10:02:47 -0400 Received: from mailout1.w1.samsung.com ([210.118.77.11]:40306) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZpGS2-0008GK-Cg for qemu-devel@nongnu.org; Thu, 22 Oct 2015 10:02:42 -0400 Received: from eucpsbgm2.samsung.com (unknown [203.254.199.245]) by mailout1.w1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0NWM0093WKCFO840@mailout1.w1.samsung.com> for qemu-devel@nongnu.org; Thu, 22 Oct 2015 15:02:39 +0100 (BST) From: Pavel Fedin Date: Thu, 22 Oct 2015 17:02:26 +0300 Message-id: Subject: [Qemu-devel] [RFC PATCH v3 0/4] GICv3 live migration support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Diana Craciun , Peter Maydell , Shlomo Pongratz , Vijay Kilari , Shlomo Pongratz This series introduces support for GICv3 live migration. It is based on kernel API which is not released yet, therefore i post it as an RFC. Kernel patches which implement this functionality are: - [PATCH v5 0/7] KVM: arm64: Implement API for vGICv3 live migration http://www.spinics.net/lists/kvm/msg122040.html One more prerequisite for this series is: - [PATCH] target-arm: Extract some external ARM CPU API http://lists.nongnu.org/archive/html/qemu-devel/2015-10/msg05269.html The main purpose of this RFC is to agree on GICv3 state data format, because software implementation of GICv3 is also going to use it. In order to simplify GICv3 software emulation development, parts 1 and 2 of this patchset can be accepted right now, without waiting for the kernel part. v2 => v3: - Integrated state manipulation macros from Shlomo Pongratz' GICv3 RFC (with some changes) - Added fields for SGI source masks - Do not use mp-affinity property every time, cache IDs internally instead - Removed mp-affinity property patch, now a part of prerequisite v1 => v2: - Use different kernel API, agreed upon by KVM developers - Reworked state representation, do not duplicate SPI fields any more - Added basic LPI support (PROPBASER and PENDBASER). Pavel Fedin (4): hw/intc/arm_gicv3_common: Add state information kernel: Add definitions for GICv3 attributes hw/intc/arm_gicv3_kvm: Implement get/put functions hw/intc/arm_gicv3_common: Add vmstate descriptors hw/intc/arm_gicv3_common.c | 185 ++++++++++++++- hw/intc/arm_gicv3_kvm.c | 456 ++++++++++++++++++++++++++++++++++++- hw/intc/gicv3_internal.h | 265 +++++++++++++++++++++ include/hw/intc/arm_gicv3_common.h | 93 +++++++- include/migration/vmstate.h | 9 + linux-headers/asm-arm64/kvm.h | 17 +- 6 files changed, 1011 insertions(+), 14 deletions(-) create mode 100644 hw/intc/gicv3_internal.h -- 2.4.4