From: vijay.kilari@gmail.com
To: qemu-arm@nongnu.org, peter.maydell@linaro.org,
christoffer.dall@linaro.org, eric.auger@redhat.com
Cc: marc.zyngier@arm.com, p.fedin@samsung.com, qemu-devel@nongnu.org,
Vijaya Kumar K <Vijaya.Kumar@cavium.com>
Subject: [Qemu-devel] [PATCH v9 0/5] GICv3 live migration support
Date: Thu, 23 Feb 2017 17:21:08 +0530 [thread overview]
Message-ID: <1487850673-26455-1-git-send-email-vijay.kilari@gmail.com> (raw)
From: Vijaya Kumar K <Vijaya.Kumar@cavium.com>
This series introduces support for GICv3 live migration with
new VGIC implementation in 4.7-rc3 kernel.
In this series, patch 1 of the previous implementation
are ported.
https://lists.nongnu.org/archive/html/qemu-devel/2015-10/msg05284.html
Patch 2, is based on below implementation.
http://patchwork.ozlabs.org/patch/626746/
Latest kernel patches
https://www.spinics.net/lists/arm-kernel/msg558046.html
This API definition is as per version of VGICv3 specification
in linux kernel Documentation/virtual/kvm/devices/arm-vgic-v3.txt
Tested Live migration of Idle VM running with 4 VCPUs and 8GB RAM.
v8 => v9:
- Updated icc_sre_el1_reg_needed() return condition to
cs->icc_sre_el1 != 0x7;
- Dropped assert in arm_gicv3_icc_reset()
- Added comments at required places
v7 => v8:
- Introduced vmstate subsection to add icc_ctrl_el1 register to
VMStateDescription
- Introduced new function gicv3_set_gicv3state() in arm_gicv3_cpuif.c
to update gicv3state variable in CPUARMState struct.
- Used arm_cp_read_zero & arm_cp_write_ignore for ARMCPRegInfo[].
v6 => v7:
- Rebased on top of v2.8.0-rc4 release.
- Added patch to add icc_ctrl_el1 to vmstruct before live migration
patch.
- Added patch to add gicv3state variable to CPUARMState struct to
store GICv3CPUState pointer.
- Added patch to register ARMCPRegInfo[] struct and reset on CPU reset.
v5 => v6:
- Added separate patch for Reseting ICC* register
- Added seperate patch for save and restore of ICC_CTLR_EL1
- Dropped translate_fn mechanism and coded open functions
for edge_trigger and priority save and restore.
- Save and Restore APnR registers based on ICC_CTLR_EL1.PRIBITS
v4 => v5:
- Initialized ICC registers before reset.
v3 => v4:
- Reintroduced offset GICR_SGI_OFFSET
- Implement save and restore of ICC_SRE_EL1
- Updated kvm.h header file in sync with KVM v4 patches
v2 => v3:
- Dropped offset GICR_SGI_OFFSET
- Implement save/restore of irq line level using
KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO
- Fixed bug with save/restore of edge_trigger
Vijaya Kumar K (5):
kernel: Add definitions for GICv3 attributes
hw/intc/arm_gicv3_kvm: Add ICC_SRE_EL1 register to vmstate
hw/intc/arm_gicv3_kvm: Implement get/put functions
target-arm: Add GICv3CPUState in CPUARMState struct
hw/intc/arm_gicv3_kvm: Reset GICv3 cpu interface registers
hw/intc/arm_gicv3_common.c | 38 +++
hw/intc/arm_gicv3_cpuif.c | 8 +
hw/intc/arm_gicv3_kvm.c | 629 ++++++++++++++++++++++++++++++++++++-
hw/intc/gicv3_internal.h | 3 +
include/hw/intc/arm_gicv3_common.h | 1 +
linux-headers/asm-arm/kvm.h | 12 +
linux-headers/asm-arm64/kvm.h | 12 +
target/arm/cpu.h | 2 +
8 files changed, 691 insertions(+), 14 deletions(-)
--
1.9.1
next reply other threads:[~2017-02-23 12:17 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-23 11:51 vijay.kilari [this message]
2017-02-23 11:51 ` [Qemu-devel] [PATCH v9 1/5] kernel: Add definitions for GICv3 attributes vijay.kilari
2017-02-23 18:35 ` [Qemu-arm] " Peter Maydell
2017-02-24 17:53 ` [Qemu-devel] " Auger Eric
2017-02-23 11:51 ` [Qemu-arm] [PATCH v9 2/5] hw/intc/arm_gicv3_kvm: Add ICC_SRE_EL1 register to vmstate vijay.kilari
2017-02-23 18:36 ` Peter Maydell
2017-02-24 17:53 ` [Qemu-devel] " Auger Eric
2017-02-24 17:57 ` [Qemu-arm] " Peter Maydell
2017-02-24 18:02 ` Auger Eric
2017-02-23 11:51 ` [Qemu-devel] [PATCH v9 3/5] hw/intc/arm_gicv3_kvm: Implement get/put functions vijay.kilari
2017-02-23 11:51 ` [Qemu-devel] [PATCH v9 4/5] target-arm: Add GICv3CPUState in CPUARMState struct vijay.kilari
2017-02-24 17:52 ` [Qemu-arm] " Auger Eric
2017-02-23 11:51 ` [Qemu-devel] [PATCH v9 5/5] hw/intc/arm_gicv3_kvm: Reset GICv3 cpu interface registers vijay.kilari
2017-02-23 18:37 ` Peter Maydell
2017-03-28 17:24 ` [Qemu-arm] " Alexander Graf
2017-03-28 17:26 ` Auger Eric
2017-02-24 17:52 ` [Qemu-arm] " Auger Eric
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=1487850673-26455-1-git-send-email-vijay.kilari@gmail.com \
--to=vijay.kilari@gmail.com \
--cc=Vijaya.Kumar@cavium.com \
--cc=christoffer.dall@linaro.org \
--cc=eric.auger@redhat.com \
--cc=marc.zyngier@arm.com \
--cc=p.fedin@samsung.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
/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).