Documentation/virt/kvm/api.rst | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-)
KVM_ARM_PREFERRED_TARGET has never set a feature bit: the original arm64
implementation zeroed the bitmap, and kvm_vcpu_preferred_target(), which
only ever zeroed it, was removed by commit 5346f7e13e5e ("KVM: arm64:
Always return generic v8 as the preferred target"). The ENODEV error had
gone earlier still, with commit 08e873cb70f3 ("KVM: arm64: Change the
return type of kvm_vcpu_preferred_target()"). Document what it returns,
that userspace selects vCPU features itself, and drop the error.
No functional change intended.
Signed-off-by: Fuad Tabba <fuad.tabba@linux.dev>
---
Documentation/virt/kvm/api.rst | 16 +++++-----------
1 file changed, 5 insertions(+), 11 deletions(-)
diff --git a/Documentation/virt/kvm/api.rst b/Documentation/virt/kvm/api.rst
index e0430cc750c9e..193f3b0ec77d1 100644
--- a/Documentation/virt/kvm/api.rst
+++ b/Documentation/virt/kvm/api.rst
@@ -3600,20 +3600,14 @@ Possible features:
:Parameters: struct kvm_vcpu_init (out)
:Returns: 0 on success; -1 on error
-Errors:
-
- ====== ==========================================
- ENODEV no preferred target available for the host
- ====== ==========================================
-
This queries KVM for preferred CPU target type which can be emulated
by KVM on underlying host.
-The ioctl returns struct kvm_vcpu_init instance containing information
-about preferred CPU target type and recommended features for it. The
-kvm_vcpu_init->features bitmap returned will have feature bits set if
-the preferred target recommends setting these features, but this is
-not mandatory.
+The ioctl returns a struct kvm_vcpu_init instance containing the
+preferred CPU target type. The kvm_vcpu_init->features bitmap is
+returned empty: userspace selects the vCPU features itself, and their
+availability is reported by the capabilities listed under
+KVM_ARM_VCPU_INIT.
The information returned by this ioctl can be used to prepare an instance
of struct kvm_vcpu_init for KVM_ARM_VCPU_INIT ioctl which will result in
base-commit: cee9395acd8043be0644b25c34bfa86623f2b935
--
2.39.5
On Mon, 31 Aug 2026 17:28:15 +0100, Fuad Tabba wrote:
> KVM_ARM_PREFERRED_TARGET has never set a feature bit: the original arm64
> implementation zeroed the bitmap, and kvm_vcpu_preferred_target(), which
> only ever zeroed it, was removed by commit 5346f7e13e5e ("KVM: arm64:
> Always return generic v8 as the preferred target"). The ENODEV error had
> gone earlier still, with commit 08e873cb70f3 ("KVM: arm64: Change the
> return type of kvm_vcpu_preferred_target()"). Document what it returns,
> that userspace selects vCPU features itself, and drop the error.
>
> [...]
Applied to next, thanks!
[1/1] KVM: arm64: Fix the KVM_ARM_PREFERRED_TARGET documentation
commit: f3435cb7df9b8fe242bbf776a9ac496bdd2184e9
Cheers,
M.
--
Without deviation from the norm, progress is not possible.
On Mon, Aug 31, 2026 at 05:28:15PM +0100, Fuad Tabba wrote:
> KVM_ARM_PREFERRED_TARGET has never set a feature bit: the original arm64
> implementation zeroed the bitmap, and kvm_vcpu_preferred_target(), which
> only ever zeroed it, was removed by commit 5346f7e13e5e ("KVM: arm64:
> Always return generic v8 as the preferred target"). The ENODEV error had
> gone earlier still, with commit 08e873cb70f3 ("KVM: arm64: Change the
> return type of kvm_vcpu_preferred_target()"). Document what it returns,
> that userspace selects vCPU features itself, and drop the error.
>
> No functional change intended.
>
> Signed-off-by: Fuad Tabba <fuad.tabba@linux.dev>
Reviewed-by: Wei-Lin Chang <weilin.chang@arm.com>
> ---
> Documentation/virt/kvm/api.rst | 16 +++++-----------
> 1 file changed, 5 insertions(+), 11 deletions(-)
>
> diff --git a/Documentation/virt/kvm/api.rst b/Documentation/virt/kvm/api.rst
> index e0430cc750c9e..193f3b0ec77d1 100644
> --- a/Documentation/virt/kvm/api.rst
> +++ b/Documentation/virt/kvm/api.rst
> @@ -3600,20 +3600,14 @@ Possible features:
> :Parameters: struct kvm_vcpu_init (out)
> :Returns: 0 on success; -1 on error
>
> -Errors:
> -
> - ====== ==========================================
> - ENODEV no preferred target available for the host
> - ====== ==========================================
> -
> This queries KVM for preferred CPU target type which can be emulated
> by KVM on underlying host.
>
> -The ioctl returns struct kvm_vcpu_init instance containing information
> -about preferred CPU target type and recommended features for it. The
> -kvm_vcpu_init->features bitmap returned will have feature bits set if
> -the preferred target recommends setting these features, but this is
> -not mandatory.
> +The ioctl returns a struct kvm_vcpu_init instance containing the
> +preferred CPU target type. The kvm_vcpu_init->features bitmap is
> +returned empty: userspace selects the vCPU features itself, and their
> +availability is reported by the capabilities listed under
> +KVM_ARM_VCPU_INIT.
>
> The information returned by this ioctl can be used to prepare an instance
> of struct kvm_vcpu_init for KVM_ARM_VCPU_INIT ioctl which will result in
>
> base-commit: cee9395acd8043be0644b25c34bfa86623f2b935
> --
> 2.39.5
>
© 2016 - 2026 Red Hat, Inc.