[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] PING: [RFC PATCH 0/4] GICv3 live migration support
From: |
Pavel Fedin |
Subject: |
[Qemu-devel] PING: [RFC PATCH 0/4] GICv3 live migration support |
Date: |
Wed, 07 Oct 2015 10:57:28 +0300 |
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: address@hidden [mailto:qemu-devel-
> address@hidden On Behalf Of Pavel Fedin
> Sent: Wednesday, September 30, 2015 5:00 PM
> To: address@hidden
> 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
- [Qemu-devel] PING: [RFC PATCH 0/4] GICv3 live migration support,
Pavel Fedin <=