[PATCH v4 06/17] KVM: arm64: Add pkvm_hyp_req infrastructure

Vincent Donnefort vdonnefort at google.com
Tue Aug 25 01:10:43 PDT 2026


On Tue, Aug 25, 2026 at 01:11:10PM +0530, Aneesh Kumar K.V wrote:
> 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

Hum, this is really just a few lines of code. Also, pKVM doesn't need a stable
ABI with the kernel. Implementing a portion of a spec here sounds way too
complicated for that simple usage IMO. I struggle to see in what way this would
make pKVM better.

-- 
Vincent



More information about the linux-arm-kernel mailing list