KVM: arm64: Add undocumented return values for PMU device control group
authorAlexandru Elisei <alexandru.elisei@arm.com>
Thu, 24 Sep 2020 12:37:30 +0000 (13:37 +0100)
committerMarc Zyngier <maz@kernel.org>
Tue, 29 Sep 2020 13:26:38 +0000 (14:26 +0100)
KVM_ARM_VCPU_PMU_V3_IRQ returns -EFAULT if get_user() fails when reading
the interrupt number from kvm_device_attr.addr.

KVM_ARM_VCPU_PMU_V3_INIT returns the error value from kvm_vgic_set_owner().
kvm_arm_pmu_v3_init() checks that the vgic has been initialized and the
interrupt number is valid, but kvm_vgic_set_owner() can still return the
error code -EEXIST if another device has already claimed the interrupt.

Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Link: https://lore.kernel.org/r/20200924123731.268177-2-alexandru.elisei@arm.com
Documentation/virt/kvm/devices/vcpu.rst

index c8b707a..1da576a 100644 (file)
@@ -25,6 +25,7 @@ Returns:
 
         =======  ========================================================
         -EBUSY   The PMU overflow interrupt is already set
+        -EFAULT  Error reading interrupt number
         -ENXIO   The overflow interrupt not set when attempting to get it
         -ENODEV  PMUv3 not supported
         -EINVAL  Invalid PMU overflow interrupt number supplied or
@@ -45,6 +46,7 @@ all vcpus, while as an SPI it must be a separate number per vcpu.
 Returns:
 
         =======  ======================================================
+        -EEXIST  Interrupt number already used
         -ENODEV  PMUv3 not supported or GIC not initialized
         -ENXIO   PMUv3 not properly configured or in-kernel irqchip not
                  configured as required prior to calling this attribute