[PATCH v1 1/4] KVM: arm64: Allow early calls to pKVM host_share/unshare_hyp

Vincent Donnefort vdonnefort at google.com
Tue Jul 7 09:53:30 PDT 2026


On Sun, Jun 14, 2026 at 02:39:30PM +0100, Fuad Tabba wrote:
> On Fri, 12 Jun 2026 at 15:22, Vincent Donnefort <vdonnefort at google.com> wrote:
> >
> > The hypervisor tracing for pKVM relies on the __pkvm_host_share_hyp and
> > __pkvm_host_unshare_hyp HVCs. In order to start tracing as early as
> > possible, allow those two HVCs before the host is deprivileged.
> >
> > Signed-off-by: Vincent Donnefort <vdonnefort at google.com>
> 
> To my good friend Sashiko:
> https://lore.kernel.org/all/20260529121755.2923500-1-tabba@google.com/
> 
> The hyp_trace_load() issue seems legit though.

I've just posted lore.kernel.org/all/20260707165029.3410701-1-vdonnefort at google.com
> 
> As for this patch itself:
> 
> Reviewed-by: Fuad Tabba <tabba at google.com>
> Tested-by: Fuad Tabba <tabba at google.com>
> 
> Cheers,
> /fuad
> 
> 
> >
> > diff --git a/arch/arm64/include/asm/kvm_asm.h b/arch/arm64/include/asm/kvm_asm.h
> > index 043495f7fc78..fb049c40d04f 100644
> > --- a/arch/arm64/include/asm/kvm_asm.h
> > +++ b/arch/arm64/include/asm/kvm_asm.h
> > @@ -89,12 +89,12 @@ enum __kvm_host_smccc_func {
> >         __KVM_HOST_SMCCC_FUNC___vgic_v3_restore_vmcr_aprs,
> >         __KVM_HOST_SMCCC_FUNC___vgic_v5_save_apr,
> >         __KVM_HOST_SMCCC_FUNC___vgic_v5_restore_vmcr_apr,
> > +       __KVM_HOST_SMCCC_FUNC___pkvm_host_share_hyp,
> > +       __KVM_HOST_SMCCC_FUNC___pkvm_host_unshare_hyp,
> >
> >         MARKER(__KVM_HOST_SMCCC_FUNC_PKVM_ONLY),
> >
> >         /* Hypercalls that are available only when pKVM has finalised. */
> > -       __KVM_HOST_SMCCC_FUNC___pkvm_host_share_hyp,
> > -       __KVM_HOST_SMCCC_FUNC___pkvm_host_unshare_hyp,
> >         __KVM_HOST_SMCCC_FUNC___pkvm_host_donate_guest,
> >         __KVM_HOST_SMCCC_FUNC___pkvm_host_share_guest,
> >         __KVM_HOST_SMCCC_FUNC___pkvm_host_unshare_guest,
> > diff --git a/arch/arm64/kvm/hyp/nvhe/hyp-main.c b/arch/arm64/kvm/hyp/nvhe/hyp-main.c
> > index 06db299c37a8..f0c52667cf52 100644
> > --- a/arch/arm64/kvm/hyp/nvhe/hyp-main.c
> > +++ b/arch/arm64/kvm/hyp/nvhe/hyp-main.c
> > @@ -721,9 +721,9 @@ static const hcall_t host_hcall[] = {
> >         HANDLE_FUNC(__vgic_v3_restore_vmcr_aprs),
> >         HANDLE_FUNC(__vgic_v5_save_apr),
> >         HANDLE_FUNC(__vgic_v5_restore_vmcr_apr),
> > -
> >         HANDLE_FUNC(__pkvm_host_share_hyp),
> >         HANDLE_FUNC(__pkvm_host_unshare_hyp),
> > +
> >         HANDLE_FUNC(__pkvm_host_donate_guest),
> >         HANDLE_FUNC(__pkvm_host_share_guest),
> >         HANDLE_FUNC(__pkvm_host_unshare_guest),
> > --
> > 2.54.0.1136.gdb2ca164c4-goog
> >



More information about the linux-arm-kernel mailing list