From: christoffer.dall@linaro.org (Christoffer Dall)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 06/16] KVM: Add KVM_EXIT_SYSTEM_EVENT to user space API header
Date: Mon, 1 Sep 2014 11:56:29 +0200 [thread overview]
Message-ID: <20140901095629.GF19836@cbox> (raw)
In-Reply-To: <CAFEAcA_S9dHbYVDrkr7X+cTcg-TC0nRWd4zLaUTX2zBjr+TKGQ@mail.gmail.com>
On Mon, Sep 01, 2014 at 10:30:17AM +0100, Peter Maydell wrote:
> On 1 September 2014 10:20, Christoffer Dall <christoffer.dall@linaro.org> wrote:
> > On Fri, Aug 29, 2014 at 06:39:09PM +0100, Peter Maydell wrote:
> >> Talking with Ard I realised that there's actually a hole in the
> >> specification of this new ABI. Did we intend these shutdown
> >> and reset exits to be:
> >> (1) requests from the guest for the shutdown/reset to be
> >> scheduled in the near future (and we'll continue to execute
> >> the guest until the shutdown actually happens)
> >> (2) requests for shutdown/reset right now, with no further
> >> guest instructions to be executed
> >>
> >> ?
> >>
> >> As currently implemented in QEMU we get behaviour (1),
> >> but I think the kernel PSCI implementation assumes
> >> behaviour (2). Who's right?
> >>
> > For the arm/arm64 use of this API (currently the only one?) the host
> > would not break or anything like that if you keep executing the VM, but
> > the guest will expect that no other instructions are executed after this
> > call.
>
> Well, if we do that then between QEMU and KVM we've
> violated the PSCI ABI we're supposed to provide, so somebody
> is wrong :-)
>
> I guess that since the kernel already implements "assume
> userspace won't resume the guest vcpu" the path of least
> resistance is to make userspace follow that.
The thing is that we're not exposing PSCI to user space, we're just
exposing a system event, so it feels a bit weird to rely on user space's
correct interpretation of a more generic API, to correctly implement
PSCI in the kernel. On the other hand, user space can always break the
guest as it sees fit...
-Christoffer
next prev parent reply other threads:[~2014-09-01 9:56 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-25 18:18 [GIT PULL] KVM/ARM and PSCI v0.2 Changes for 3.16 Christoffer Dall
2014-05-25 18:18 ` [PATCH 01/16] KVM: Add capability to advertise PSCI v0.2 support Christoffer Dall
2014-05-25 18:18 ` [PATCH 02/16] ARM/ARM64: KVM: Add common header for PSCI related defines Christoffer Dall
2014-05-25 18:18 ` [PATCH 03/16] ARM/ARM64: KVM: Add base for PSCI v0.2 emulation Christoffer Dall
2014-05-25 18:18 ` [PATCH 04/16] KVM: Documentation: Add info regarding KVM_ARM_VCPU_PSCI_0_2 feature Christoffer Dall
2014-05-25 18:18 ` [PATCH 05/16] ARM/ARM64: KVM: Make kvm_psci_call() return convention more flexible Christoffer Dall
2014-05-25 18:18 ` [PATCH 06/16] KVM: Add KVM_EXIT_SYSTEM_EVENT to user space API header Christoffer Dall
2014-08-29 17:39 ` Peter Maydell
2014-09-01 9:20 ` Christoffer Dall
2014-09-01 9:30 ` Peter Maydell
2014-09-01 9:56 ` Christoffer Dall [this message]
2014-09-01 10:11 ` Peter Maydell
2014-05-25 18:18 ` [PATCH 07/16] ARM/ARM64: KVM: Emulate PSCI v0.2 SYSTEM_OFF and SYSTEM_RESET Christoffer Dall
2014-05-25 18:18 ` [PATCH 08/16] ARM/ARM64: KVM: Emulate PSCI v0.2 AFFINITY_INFO Christoffer Dall
2014-05-25 18:18 ` [PATCH 09/16] ARM/ARM64: KVM: Emulate PSCI v0.2 MIGRATE_INFO_TYPE and related functions Christoffer Dall
2014-05-25 18:18 ` [PATCH 10/16] ARM/ARM64: KVM: Fix CPU_ON emulation for PSCI v0.2 Christoffer Dall
2014-05-25 18:18 ` [PATCH 11/16] ARM/ARM64: KVM: Emulate PSCI v0.2 CPU_SUSPEND Christoffer Dall
2014-05-25 18:18 ` [PATCH 12/16] ARM/ARM64: KVM: Advertise KVM_CAP_ARM_PSCI_0_2 to user space Christoffer Dall
2014-05-25 18:18 ` [PATCH 13/16] PSCI: Add initial support for PSCIv0.2 functions Christoffer Dall
2014-05-27 7:44 ` Shawn Guo
2014-05-27 9:18 ` Christoffer Dall
2014-05-27 9:27 ` Paolo Bonzini
2014-05-27 9:46 ` Christoffer Dall
2014-05-27 9:47 ` Paolo Bonzini
2014-05-25 18:19 ` [PATCH 14/16] Documentation: devicetree: Add new binding for PSCIv0.2 Christoffer Dall
2014-05-25 18:19 ` [PATCH 15/16] ARM: Check if a CPU has gone offline Christoffer Dall
2014-05-25 18:19 ` [PATCH 16/16] arm64: KVM: Enable minimalistic support for Cortex-A53 Christoffer Dall
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=20140901095629.GF19836@cbox \
--to=christoffer.dall@linaro.org \
--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 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).