From: Pavel Fedin <p.fedin@samsung.com>
To: qemu-devel@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
Juan Quintela <quintela@redhat.com>,
Shlomo Pongratz <shlomo.pongratz@huawei.com>,
Shlomo Pongratz <shlomopongratz@gmail.com>,
Amit Shah <amit.shah@redhat.com>,
Diana Craciun <diana.craciun@freescale.com>
Subject: [Qemu-devel] [RFC PATCH 0/4] GICv3 live migration support
Date: Wed, 30 Sep 2015 16:59:46 +0300 [thread overview]
Message-ID: <cover.1443621219.git.p.fedin@samsung.com> (raw)
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
next reply other threads:[~2015-09-30 14:00 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-30 13:59 Pavel Fedin [this message]
2015-09-30 13:59 ` [Qemu-devel] [RFC PATCH 1/4] hw/intc/arm_gicv3_common: Add state information Pavel Fedin
2015-09-30 13:59 ` [Qemu-devel] [RFC PATCH 2/4] kernel: Add definitions for GICv3 attributes Pavel Fedin
2015-09-30 13:59 ` [Qemu-devel] [RFC PATCH 3/4] hw/intc/arm_gicv3_kvm: Implement get/put functions Pavel Fedin
2015-09-30 13:59 ` [Qemu-devel] [RFC PATCH 4/4] hw/intc/arm_gicv3_common: Add vmstate descriptors Pavel Fedin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1443621219.git.p.fedin@samsung.com \
--to=p.fedin@samsung.com \
--cc=amit.shah@redhat.com \
--cc=diana.craciun@freescale.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=shlomo.pongratz@huawei.com \
--cc=shlomopongratz@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).