[PATCH v4 06/17] KVM: arm64: Add pkvm_hyp_req infrastructure
Aneesh Kumar K.V
aneesh.kumar at kernel.org
Tue Aug 25 00:41:10 PDT 2026
Vincent Donnefort <vdonnefort at google.com> writes:
> Introduce a struct pkvm_hyp_req to enable the pKVM hypervisor to request
> resources from the host.
>
> Provide serialisation helpers to transport these requests via SMCCC
> registers (starting from a2):
>
> pkvm_hyp_req_to_smccc() to encode into the SMCCC args.
> smccc_to_pkvm_hyp_req() to decode them.
>
> When the hypervisor raises a request, the host must handle it and retry
> the HVC. To automate this sequence, introduce the pkvm_call_hyp_req()
> macro. This intercepts pending requests, invokes the handler and retries
> the HVC.
>
> Additionally, introduce a trace event to track the handling of these
> requests.
>
> Reviewed-by: Fuad Tabba <fuad.tabba at linux.dev>
> Tested-by: Fuad Tabba <fuad.tabba at linux.dev>
> Signed-off-by: Vincent Donnefort <vdonnefort at google.com>
This is very similar to the memory-transferring SRO operations described
in section B4.3, RMI operations, of https://support.arm.com/documentation/den0137/2-0bet3/
The SRO model covers more details than the pkvm_hyp_req infrastructure.
Should we look at making the two more similar?
-aneesh
More information about the linux-arm-kernel
mailing list