Re: [PATCH v17 15/35] virt: gunyah: Add proxy-scheduled vCPUs

From: Srivatsa Vaddagiri
Date: Wed Mar 13 2024 - 05:22:29 EST


* Elliot Berman <quic_eberman@xxxxxxxxxxx> [2024-02-22 15:16:38]:

> Gunyah allows vCPUs that are configured as proxy-scheduled to be scheduled by
> another virtual machine (host) that holds capabilities to those vCPUs with
> suitable rights.
>
> Gunyah also supports configuring regions of a proxy-scheduled VM's address
> space to be virtualized by the host VM. This permits a host VMM to emulate MMIO
> devices in the proxy-scheduled VM.
>
> vCPUs are presented to the host as a Gunyah resource and represented to
> userspace as a Gunyah VM function.
>
> Creating the vcpu function on the VM will create a file descriptor that:
> - can handle an ioctl to run the vCPU. When called, Gunyah will directly
> context-switch to the selected vCPU and run it until one of the following
> events occurs:
> * the host vcpu's time slice ends
> * the host vcpu receives an interrupt or would have been pre-empted
> by the hypervisor
> * a fault occurs in the proxy-scheduled vcpu
> * a power management event, such as idle or cpu-off call in the vcpu
> - can be mmap'd to share the gunyah_vcpu_run structure with userspace. This
> allows the vcpu_run result codes to be accessed, and for arguments to
> vcpu_run to be passed, e.g. for resuming the vcpu when handling certain fault
> and exit cases.
>
> Co-developed-by: Prakruthi Deepak Heragu <quic_pheragu@xxxxxxxxxxx>
> Signed-off-by: Prakruthi Deepak Heragu <quic_pheragu@xxxxxxxxxxx>
> Signed-off-by: Elliot Berman <quic_eberman@xxxxxxxxxxx>

LGTM

Reviewed-by: Srivatsa Vaddagiri <quic_svaddagi@xxxxxxxxxxx>

- vatsa