Knock-knock! PM: I remember we had a talk that we should settle down on migration data format. Isn't it right time?
Kind regards, Pavel Fedin Expert Engineer Samsung Electronics Research center Russia > -----Original Message----- > From: qemu-devel-bounces+p.fedin=samsung....@nongnu.org [mailto:qemu-devel- > bounces+p.fedin=samsung....@nongnu.org] On Behalf Of Pavel Fedin > Sent: Wednesday, September 30, 2015 5:00 PM > To: qemu-devel@nongnu.org > Cc: Peter Maydell; Juan Quintela; Shlomo Pongratz; Shlomo Pongratz; Amit > Shah; Diana Craciun > Subject: [Qemu-devel] [RFC PATCH 0/4] GICv3 live migration support > > 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 v4 0/7] KVM: arm64: Implement API for vGICv3 live migration > http://www.spinics.net/lists/kvm/msg121588.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, part 1 of this patchset > can be accepted right now, without waiting for the kernel part. > > The second question which should be addressed is how to correctly describe > bitfields in vmstate. Bitfields are used by this code in order to reflect > per-CPU interrupt status. qemu defines bitfields as arrays of 'long', > therefore element length can be different on different systems. Our vmstate > macros support only types with fixed size, like UINT64 and UINT32. In order > to work around this problem, i relied on __SIZEOF_LONG__ definition. > However, i suppose, it is gcc-specific and this approach is wrong for > mainstream, therefore i'd like to discuss how this could be done better. > Since 'long' maps to something, i think that adding a specific code for it > would be too much anyway. May be add configure test for sizeof(long) ? > > 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 | 199 ++++++++++++++++++- > hw/intc/arm_gicv3_kvm.c | 391 > ++++++++++++++++++++++++++++++++++++- > hw/intc/gicv3_internal.h | 152 ++++++++++++++ > include/hw/intc/arm_gicv3_common.h | 76 +++++++ > linux-headers/asm-arm64/kvm.h | 10 +- > 5 files changed, 821 insertions(+), 7 deletions(-) > create mode 100644 hw/intc/gicv3_internal.h > > -- > 2.4.4