Re: [PATCH v2] LoongArch: KVM: Advertise already-supported capabilities

From: Huacai Chen

Date: Sun Aug 09 2026 - 00:07:25 EST


Applied, thanks.

Huacai

On Wed, Aug 5, 2026 at 1:46 PM Tao Cui <cui.tao@xxxxxxxxx> 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 <cui.tao@xxxxxxxxx>
> ---
> 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;
>