[RFC PATCH 1/5] ARM/ARM64: KVM: Update user space API header for PSCI emulation
Christoffer Dall
christoffer.dall at linaro.org
Wed Oct 16 18:11:32 EDT 2013
On Wed, Oct 16, 2013 at 10:32:30PM +0530, Anup Patel wrote:
> Update user space API interface headers for providing information to
> user space needed to emulate PSCI function calls in user space (i.e.
> QEMU or KVMTOOL).
>
> Signed-off-by: Anup Patel <anup.patel at linaro.org>
> Signed-off-by: Pranavkumar Sawargaonkar <pranavkumar at linaro.org>
> ---
> include/uapi/linux/kvm.h | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h
> index e32e776..dae2664 100644
> --- a/include/uapi/linux/kvm.h
> +++ b/include/uapi/linux/kvm.h
> @@ -171,6 +171,7 @@ struct kvm_pit_config {
> #define KVM_EXIT_WATCHDOG 21
> #define KVM_EXIT_S390_TSCH 22
> #define KVM_EXIT_EPR 23
> +#define KVM_EXIT_PSCI 24
>
> /* For KVM_EXIT_INTERNAL_ERROR */
> /* Emulate instruction failed. */
> @@ -301,6 +302,12 @@ struct kvm_run {
> struct {
> __u32 epr;
> } epr;
> + /* KVM_EXIT_PSCI */
> + struct {
> + __u32 fn;
> + __u64 args[7];
> + __u64 ret[4];
> + } psci;
> /* Fix the size of the union. */
> char padding[256];
> };
> --
> 1.7.9.5
>
I am also wondering if this is not solving a very specific need without
thinking a little more carefully about this problem.
We have previously discussed the need for some secure side emulation
in QEMU, and I think perhaps we need something more generic which allows
user space to handle SMC calls and/or allows user space to "inject" some
secure world runtime that the kernel can run in a partially or fully
isolated container to handle SMC calls.
Peter raised this issue previously and pointed to a proposal he had as
well.
Is there a technical reason why we need something specifically directed
to PSCI?
-Christoffer
More information about the linux-arm-kernel
mailing list