summary refs log tree commit diff
path: root/Documentation
diff options
context:
space:
mode:
authorAlexandru Elisei <alexandru.elisei@arm.com>2020-12-01 15:01:53 +0000
committerMarc Zyngier <maz@kernel.org>2020-12-23 16:39:58 +0000
commit3557ae187c32203d1bb8b48ee1e2e7bdb23d98d5 (patch)
tree4b5a11c6f79e56091517492dfcc3f42f0e6c4fcc /Documentation
parent767c973f2e4a9264a4f159c9fad5ca8acdb9915e (diff)
downloadlinux-3557ae187c32203d1bb8b48ee1e2e7bdb23d98d5.tar.gz
KVM: Documentation: Add arm64 KVM_RUN error codes
The API documentation states that general error codes are not detailed, but
errors with specific meanings are. On arm64, KVM_RUN can return error
numbers with a different meaning than what is described by POSIX or the C99
standard (as taken from man 3 errno).

Absent from the newly documented error codes is ERANGE which can be
returned when making a change to the EL2 stage 1 tables if the address is
larger than the largest supported input address. Assuming no bugs in the
implementation, that is not possible because the input addresses which are
mapped are the result of applying the macro kern_hyp_va() on kernel virtual
addresses.

CC: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20201201150157.223625-2-alexandru.elisei@arm.com
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/virt/kvm/api.rst9
1 files changed, 7 insertions, 2 deletions
diff --git a/Documentation/virt/kvm/api.rst b/Documentation/virt/kvm/api.rst
index e00a66d72372..4e5316ed10e9 100644
--- a/Documentation/virt/kvm/api.rst
+++ b/Documentation/virt/kvm/api.rst
@@ -380,9 +380,14 @@ This ioctl is obsolete and has been removed.
 
 Errors:
 
-  =====      =============================
+  =======    ==============================================================
   EINTR      an unmasked signal is pending
-  =====      =============================
+  ENOEXEC    the vcpu hasn't been initialized or the guest tried to execute
+             instructions from device memory (arm64)
+  ENOSYS     data abort outside memslots with no syndrome info and
+             KVM_CAP_ARM_NISV_TO_USER not enabled (arm64)
+  EPERM      SVE feature set but not finalized (arm64)
+  =======    ==============================================================
 
 This ioctl is used to run a guest virtual cpu.  While there are no
 explicit parameters, there is an implicit parameter block that can be