Subject: [RFC PATCH 2/5] ARM/ARM64: KVM: Forward PSCI SYSTEM_OFF and SYSTEM_RESET to user space

From: [email-masked] (Marc Zyngier)
Date: Thu, 17 Oct 2013 10:21:11 +0100

On 17/10/13 10:10, Peter Maydell wrote:
> On 17 October 2013 09:37, Marc Zyngier <[email-masked]> 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.

	M.
-- 
Jazz is not dead. It just smells funny...