linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
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

  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).