[PATCH] arm64/kvm: Introduce feature extension for SMCCC filter

Jianyong Wu Jianyong.Wu at arm.com
Mon Nov 20 17:58:08 PST 2023



> -----Original Message-----
> From: Salil Mehta <salil.mehta at huawei.com>
> Sent: 2023年11月16日 22:06
> To: Cornelia Huck <cohuck at redhat.com>; Jianyong Wu
> <Jianyong.Wu at arm.com>; maz at kernel.org; James Morse
> <James.Morse at arm.com>; will at kernel.org
> Cc: rmk at armlinux.org.uk; Suzuki Poulose <Suzuki.Poulose at arm.com>;
> oliver.upton at linux.dev; linux-arm-kernel at lists.infradead.org;
> kvmarm at lists.linux.dev; linux-kernel at vger.kernel.org; Justin He
> <Justin.He at arm.com>; Jianyong Wu <Jianyong.Wu at arm.com>
> Subject: RE: [PATCH] arm64/kvm: Introduce feature extension for SMCCC filter
> 
> > From: Cornelia Huck <cohuck at redhat.com>
> > Sent: Thursday, November 16, 2023 1:09 PM
> > To: Jianyong Wu <jianyong.wu at arm.com>; maz at kernel.org;
> > james.morse at arm.com; will at kernel.org
> >
> > On Thu, Nov 16 2023, Jianyong Wu <jianyong.wu at arm.com> wrote:
> >
> > > 821d935c87b introduces support for userspace SMCCC filtering, but
> > > lack of a way to tell userspace if we have this feature. Add a
> > > corresponding feature extension can resolve this issue.
> > >
> > > For example, the incoming feature Vcpu Hotplug needs the SMCCC filter.
> > > As there is no way to check this feature, VMM will run into error
> > > when it calls this feature on an old kernel. It's bad for backward compatible.
> >
> > Can't you simply query via KVM_HAS_DEVICE_ATTR whether the SMCCC
> > filtering controls exist?
> 
> 
> Agreed. In fact, this is what I had earlier intended to do but deferred this change.
> As of now, RFC V2 of vCPU Hotplug series does not have this check yet while
> installing the SMCCC filters in KVM Host.
> 

Yes, we can use KVM_HAS_DEVICE_ATTR to do the check in userspace. Thanks Cornelia.

Thanks
Jianyong

> Thanks
> 
> > > Signed-off-by: Jianyong Wu <jianyong.wu at arm.com>
> > > ---
> > >  Documentation/virt/kvm/api.rst | 3 ++-
> > >  arch/arm64/kvm/arm.c           | 1 +
> > >  include/uapi/linux/kvm.h       | 1 +
> > >  3 files changed, 4 insertions(+), 1 deletion(-)
> > >



More information about the linux-arm-kernel mailing list