ARM/ARM64: KVM: Make kvm_psci_call() return convention more flexible
authorAnup Patel <anup.patel@linaro.org>
Tue, 29 Apr 2014 05:54:18 +0000 (11:24 +0530)
committerChristoffer Dall <christoffer.dall@linaro.org>
Wed, 30 Apr 2014 11:18:57 +0000 (04:18 -0700)
commite8e7fcc5e2710b31ef842ee799db99c07986c364
tree2f9005ad128030c359da457486de308260ebba89
parent50bb0c94759bff8c62f1c7c8f774255e44ec1a41
ARM/ARM64: KVM: Make kvm_psci_call() return convention more flexible

Currently, the kvm_psci_call() returns 'true' or 'false' based on whether
the PSCI function call was handled successfully or not. This does not help
us emulate system-level PSCI functions where the actual emulation work will
be done by user space (QEMU or KVMTOOL). Examples of such system-level PSCI
functions are: PSCI v0.2 SYSTEM_OFF and SYSTEM_RESET.

This patch updates kvm_psci_call() to return three types of values:
1) > 0 (success)
2) = 0 (success but exit to user space)
3) < 0 (errors)

Signed-off-by: Anup Patel <anup.patel@linaro.org>
Signed-off-by: Pranavkumar Sawargaonkar <pranavkumar@linaro.org>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
arch/arm/include/asm/kvm_psci.h
arch/arm/kvm/handle_exit.c
arch/arm/kvm/psci.c
arch/arm64/include/asm/kvm_psci.h
arch/arm64/kvm/handle_exit.c