Re: [PATCH v2] LoongArch: KVM: Advertise already-supported capabilities
Huacai Chen <[email protected]>
| Newsgroups | dev.linux.lists.loongarch,org.kernel.vger.kvm,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <CAAhV-H6N3FgPAMzMqFKM3+AMhcz4YiKZUmNidDYXGeKVO8L=tA@mail.gmail.com> |
On Mon, Aug 10, 2026 at 12:08 PM Tao Cui <[email protected]> wrote: > > Hi, Huacai > > I missed my Signed-off-by tag for this patch, my mistake. > Could you append: > Signed-off-by: Tao Cui <[email protected]> > If it’s not workable, no problem at all. Corrected. Huacai > > 于 2026年8月9日 GMT+08:00 12:06:36,Huacai Chen <[email protected]> 写道: > >Applied, thanks. > > > >Huacai > > > >On Wed, Aug 5, 2026 at 1:46 PM Tao Cui <[email protected]> wrote: > >> > >> Several LoongArch KVM features are fully implemented but were never > >> reported through their standard KVM_CHECK_EXTENSION probes, so userspace > >> cannot discover them. Advertise the ones that already work and have a > >> real consumer: > >> > >> - KVM_CAP_STEAL_TIME: steal time works end-to-end (host-side record > >> plus guest paravirt side), and the probe returns kvm_pvtime_supported(). > >> > >> - KVM_CAP_VCPU_ATTRIBUTES: per-vCPU device-attribute ioctls are > >> implemented (CPUCFG, PVTIME control); advertise the discovery cap. > >> > >> This adds no new functionality; it only makes existing features > >> discoverable via the standard probe. > >> > >> Signed-off-by: Tao Cui <[email protected]> > >> --- > >> Changes in v2: > >> - Drop KVM_CAP_IRQFD_RESAMPLE: the only consumer is VFIO INTx, which > >> needs IOMMU/VFIO not yet available on LoongArch. > >> - Drop KVM_CAP_VM_GPA_BITS: the cap implies a GPA-width setter that > >> LoongArch does not implement. > >> > >> arch/loongarch/kvm/vm.c | 4 ++++ > >> 1 file changed, 4 insertions(+) > >> > >> diff --git a/arch/loongarch/kvm/vm.c b/arch/loongarch/kvm/vm.c > >> index 1317c718f896..0a51931d6f6e 100644 > >> --- a/arch/loongarch/kvm/vm.c > >> +++ b/arch/loongarch/kvm/vm.c > >> @@ -122,6 +122,7 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext) > >> case KVM_CAP_IOEVENTFD: > >> case KVM_CAP_MP_STATE: > >> case KVM_CAP_SET_GUEST_DEBUG: > >> + case KVM_CAP_VCPU_ATTRIBUTES: > >> r = 1; > >> break; > >> case KVM_CAP_NR_VCPUS: > >> @@ -136,6 +137,9 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext) > >> case KVM_CAP_NR_MEMSLOTS: > >> r = KVM_USER_MEM_SLOTS; > >> break; > >> + case KVM_CAP_STEAL_TIME: > >> + r = kvm_pvtime_supported(); > >> + break; > >> default: > >> r = 0; > >> break; > >>