From: agraf@suse.de (Alexander Graf)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/7] KVM: arm-vgic: Implement save/restore of VGIC state
Date: Thu, 20 Jun 2013 15:54:49 +0200 [thread overview]
Message-ID: <51C309A9.4070207@suse.de> (raw)
In-Reply-To: <1370926279-32532-1-git-send-email-christoffer.dall@linaro.org>
On 06/11/2013 06:51 AM, Christoffer Dall wrote:
> This patch series adds support for user space save/restore of the VGIC
> state. Instead of expanding the ONE_REG interface, which works on
> VCPUs, we first introduce support for the new KVM device control API and
> the VGIC. Now, instead of calling KVM_CREATE_IRQCHIP, user space can
> call KVM_CREATE_DEVICE and perform operations on the device fd, such as
> KVM_SET_DEVICE_ATTR to set a device attribute.
>
> We leverage the KVM_{SET/GET}_DEVICE_ATTR API to export the state of the
> VGIC to user space. Instead of coming up with our own custom format for
> exporting the VGIC state, we simply export all the state visible to an
> emulated guest, which must contain the full GIC state to provide
> save/restore of the GIC state for power management purposes. This
> further provides the benefit of being able to re-use the MMIO emulation
> code for the distributor for save/restore.
>
> However, the need to save/restore cpu-specific state demands that user
> space can save/restore state accessible through the CPU interface, and
> we therefore add an emulation interface for the CPU-specific interface.
>
> This is considered a first attempt, and I am not married to the device
> control API. If there are good technical arguments to take another
> approach, I am of course willing to discuss this. However, my attempts
> with the ONE_REG interface did not look very nice.
>
> [ WARINING: The patch set core functionality is completely untested;
> the basic KVM system has been briefly tested on TC2 and it doesn't
> seem like I've broken existing functionality. ]
>
> I wanted to get this out early to get feedback on the overall API and
> idea, and I'm writing some user QEMU for the user space side to test
> the new functionality meanwhile.
>
> Patches are against kvm-arm-next and also available here:
> git://git.linaro.org/people/cdall/linux-kvm-arm.git vgic-migrate
I don't see major glitches :)
Reviewed-by: Alexander Graf <agraf@suse.de>
Alex
WARNING: multiple messages have this Message-ID (diff)
From: Alexander Graf <agraf@suse.de>
To: Christoffer Dall <christoffer.dall@linaro.org>
Cc: linux-arm-kernel@lists.infradead.org, kvm@vger.kernel.org,
kvmarm@lists.cs.columbia.edu, linaro-kernel@lists.linaro.org,
patches@linaro.org
Subject: Re: [PATCH 0/7] KVM: arm-vgic: Implement save/restore of VGIC state
Date: Thu, 20 Jun 2013 15:54:49 +0200 [thread overview]
Message-ID: <51C309A9.4070207@suse.de> (raw)
In-Reply-To: <1370926279-32532-1-git-send-email-christoffer.dall@linaro.org>
On 06/11/2013 06:51 AM, Christoffer Dall wrote:
> This patch series adds support for user space save/restore of the VGIC
> state. Instead of expanding the ONE_REG interface, which works on
> VCPUs, we first introduce support for the new KVM device control API and
> the VGIC. Now, instead of calling KVM_CREATE_IRQCHIP, user space can
> call KVM_CREATE_DEVICE and perform operations on the device fd, such as
> KVM_SET_DEVICE_ATTR to set a device attribute.
>
> We leverage the KVM_{SET/GET}_DEVICE_ATTR API to export the state of the
> VGIC to user space. Instead of coming up with our own custom format for
> exporting the VGIC state, we simply export all the state visible to an
> emulated guest, which must contain the full GIC state to provide
> save/restore of the GIC state for power management purposes. This
> further provides the benefit of being able to re-use the MMIO emulation
> code for the distributor for save/restore.
>
> However, the need to save/restore cpu-specific state demands that user
> space can save/restore state accessible through the CPU interface, and
> we therefore add an emulation interface for the CPU-specific interface.
>
> This is considered a first attempt, and I am not married to the device
> control API. If there are good technical arguments to take another
> approach, I am of course willing to discuss this. However, my attempts
> with the ONE_REG interface did not look very nice.
>
> [ WARINING: The patch set core functionality is completely untested;
> the basic KVM system has been briefly tested on TC2 and it doesn't
> seem like I've broken existing functionality. ]
>
> I wanted to get this out early to get feedback on the overall API and
> idea, and I'm writing some user QEMU for the user space side to test
> the new functionality meanwhile.
>
> Patches are against kvm-arm-next and also available here:
> git://git.linaro.org/people/cdall/linux-kvm-arm.git vgic-migrate
I don't see major glitches :)
Reviewed-by: Alexander Graf <agraf@suse.de>
Alex
next prev parent reply other threads:[~2013-06-20 13:54 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-11 4:51 [PATCH 0/7] KVM: arm-vgic: Implement save/restore of VGIC state Christoffer Dall
2013-06-11 4:51 ` Christoffer Dall
2013-06-11 4:51 ` [PATCH 1/7] KVM: arm-vgic: Support KVM_CREATE_DEVICE for VGIC Christoffer Dall
2013-06-11 4:51 ` Christoffer Dall
2013-06-18 13:21 ` Alexander Graf
2013-06-18 13:21 ` Alexander Graf
2013-06-18 15:44 ` Christoffer Dall
2013-06-18 15:44 ` Christoffer Dall
2013-06-11 4:51 ` [PATCH 2/7] KVM: arm-vgic: Set base addr through device API Christoffer Dall
2013-06-11 4:51 ` Christoffer Dall
2013-06-18 13:25 ` Alexander Graf
2013-06-18 13:25 ` Alexander Graf
2013-06-18 15:46 ` Christoffer Dall
2013-06-18 15:46 ` Christoffer Dall
2013-06-18 15:51 ` Alexander Graf
2013-06-18 15:51 ` Alexander Graf
2013-06-11 4:51 ` [PATCH 3/7] irqchip: arm-gic: Define additional MMIO offsets and masks Christoffer Dall
2013-06-11 4:51 ` Christoffer Dall
2013-06-11 4:51 ` [PATCH 4/7] KVM: arm-vgic: Make vgic mmio functions more generic Christoffer Dall
2013-06-11 4:51 ` Christoffer Dall
2013-06-11 4:51 ` [PATCH 5/7] KVM: arm-vgic: Add vgic reg access from dev attr Christoffer Dall
2013-06-11 4:51 ` Christoffer Dall
2013-06-11 4:51 ` [PATCH 6/7] KVM: arm-vgic: Add GICD_SPENDSGIR and GICD_CPENDSGIR handlers Christoffer Dall
2013-06-11 4:51 ` Christoffer Dall
2013-06-11 4:51 ` [PATCH 7/7] KVM: arm-vgic: Support CPU interface reg access Christoffer Dall
2013-06-11 4:51 ` Christoffer Dall
2013-06-20 13:54 ` Alexander Graf [this message]
2013-06-20 13:54 ` [PATCH 0/7] KVM: arm-vgic: Implement save/restore of VGIC state Alexander Graf
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=51C309A9.4070207@suse.de \
--to=agraf@suse.de \
--cc=linux-arm-kernel@lists.infradead.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.