From: christoffer.dall@linaro.org (Christoffer Dall)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 2/5] ARM/ARM64: KVM: Forward PSCI SYSTEM_OFF and SYSTEM_RESET to user space
Date: Thu, 17 Oct 2013 11:34:53 -0700 [thread overview]
Message-ID: <20131017183453.GO24837@cbox> (raw)
In-Reply-To: <525FAC07.4060306@arm.com>
On Thu, Oct 17, 2013 at 10:21:11AM +0100, Marc Zyngier wrote:
> On 17/10/13 10:10, Peter Maydell wrote:
> > On 17 October 2013 09:37, Marc Zyngier <marc.zyngier@arm.com> wrote:
> >> On 16/10/13 18:02, Anup Patel wrote:
> >>> The PSCI SYSTEM_OFF and SYSTEM_RESET functions are VM or Guest level
> >>> functions hence cannot be emulated by the in-kernel PSCI emulation code.
> >>
> >> Why can't we implement system-wide functionality in the kernel? I fail
> >> to see the issue here.
> >
> > Because the kernel isn't emulating the whole board, and you need
> > to power off or reset the whole board, not just the CPUs.
>
> In which case we can forward a generic event, once KVM has dealt with
> the CPUs.
>
> >> I'm really not keen on this approach. Having part of the PSCI
> >> implementation offloaded to userspace means we don't have a complete
> >> implementation in KVM anymore, and we end-up duplicating functionality
> >> all over the place.
> >>
> >> Also, OFF and RESET are not PSCI specific concepts, and could be
> >> implemented in various ways. I'm more inclined to return a
> >> *standardized* exit code that the various platforms can interpret.
> >
> > Maybe we should have a more generic "kernel can't handle this,
> > toss it to userspace" API? That might also fit in with supporting
> > guests that want to make SMC calls to an emulated monitor...
>
> Indeed.
>
Agreed as well. That's what I was trying to say with a more generic
solution, and exiting on a subset of SMC/HVC calls for PSCI is a weird
compromise.
After all, PSCI is nothing more than acting on SMC or HVC calls, and I'm
quite sure there will be a need for user space to emulate handling of
SMC calls sooner or later, and that is the interface we need.
We may end up with both kernel and user space support for PSCI in that
case, but naturally it would always be *either* the kernel handling the
whole thing, *or* user space handling the whole thing.
In both cases we may need extra functionality to communicate between
user space and KVM, such as suspending a vcpu from user space and waking
it up on in-kernel generated timer interrupts, or, conversely, telling
user space that there was a PSCI call to turn off the system.
>From my point of view the most difficult part to figure out is how to
support general handling of secure monitor services in user space. I
don't see any particular problems with expanding the exit reasons with
things like "turn off VM" or "reset VM"?
-Christoffer
next prev parent reply other threads:[~2013-10-17 18:34 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-16 17:02 [RFC PATCH 0/5] PSCI system off and reset for KVM ARM/ARM64 Anup Patel
2013-10-16 17:02 ` [RFC PATCH 1/5] ARM/ARM64: KVM: Update user space API header for PSCI emulation Anup Patel
2013-10-16 20:30 ` Christoffer Dall
2013-10-17 6:25 ` Anup Patel
2013-10-16 22:11 ` Christoffer Dall
2013-10-17 6:45 ` Anup Patel
2013-10-17 8:47 ` Marc Zyngier
2013-10-17 11:10 ` Anup Patel
2013-10-17 11:21 ` Marc Zyngier
2013-10-17 11:30 ` Anup Patel
2013-10-17 11:49 ` Alexander Graf
2013-10-17 11:55 ` Marc Zyngier
2013-10-17 12:01 ` Alexander Graf
2013-10-17 19:04 ` Christoffer Dall
2013-10-17 22:06 ` Alexander Graf
2013-10-17 22:24 ` Christoffer Dall
2013-10-17 22:26 ` Alexander Graf
2013-10-18 3:34 ` Christoffer Dall
2013-10-17 15:32 ` Anup Patel
2013-10-17 11:52 ` Marc Zyngier
2013-10-16 17:02 ` [RFC PATCH 2/5] ARM/ARM64: KVM: Forward PSCI SYSTEM_OFF and SYSTEM_RESET to user space Anup Patel
2013-10-16 22:22 ` Christoffer Dall
2013-10-17 5:52 ` Anup Patel
2013-10-17 8:37 ` Marc Zyngier
2013-10-17 9:10 ` Peter Maydell
2013-10-17 9:21 ` Marc Zyngier
2013-10-17 9:31 ` Peter Maydell
2013-10-17 18:34 ` Christoffer Dall [this message]
2013-10-18 4:18 ` Anup Patel
2013-10-17 11:07 ` Anup Patel
2013-10-17 11:13 ` Marc Zyngier
2013-10-17 11:13 ` Anup Patel
2013-10-17 18:29 ` Christoffer Dall
2013-10-16 17:02 ` [RFC PATCH 3/5] KVM: Add documentation for KVM_EXIT_PSCI exit reason Anup Patel
2013-10-16 17:02 ` [RFC PATCH 4/5] ARM: psci: Add support for system reboot and poweroff Anup Patel
2013-10-16 22:17 ` Rob Herring
2013-10-17 5:08 ` Anup Patel
2013-10-17 9:50 ` Marc Zyngier
2013-10-16 17:02 ` [RFC PATCH 5/5] ARM64: " Anup Patel
2013-10-16 17:08 ` [RFC PATCH 0/5] PSCI system off and reset for KVM ARM/ARM64 Anup Patel
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=20131017183453.GO24837@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).