Thread (41 messages) flat view 41 messages, 3 authors, 2026-08-25

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

From: Aneesh Kumar K.V <aneesh.kumar@kernel.org>
Date: 2026-08-25 13:28:45
Also in: kvmarm

Vincent Donnefort [off-list ref] writes:
On Tue, Aug 25, 2026 at 01:11:10PM +0530, Aneesh Kumar K.V wrote:
quoted
Vincent Donnefort [off-list ref] writes:
quoted
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@linux.dev>
Tested-by: Fuad Tabba <fuad.tabba@linux.dev>
Signed-off-by: Vincent Donnefort <redacted>

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.
My goal was mainly to see whether we could keep a similar design pattern
for the hypervisor requesting additional memory from the host. I wasn't
suggesting that CCA and pKVM should use the same helpers or code paths.

I was thinking this might be relatively easy to do on the pKVM side,
given that there is no strict ABI between the host and hypervisor. The
benefit would mostly be in keeping the design patterns similar: how an
incomplete hypercall is indicated, which registers are used for that,
and how additional memory is requested.

If aligning those patterns requires more work than the benefit it
provides, we can ignore this.

-aneesh

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help