Re: [PATCH v2] LoongArch: KVM: Adve rtise already-supported capabilities
Tao Cui <[email protected]>
| Newsgroups | dev.linux.lists.loongarch,org.kernel.vger.kvm,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
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. 于 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; >>