KVM: arm64: Require in-kernel irqchip for PMU support
[deliverable/linux.git] / Documentation / virtual / kvm / devices / vcpu.txt
CommitLineData
f577f6c2
SZ
1Generic vcpu interface
2====================================
3
4The virtual cpu "device" also accepts the ioctls KVM_SET_DEVICE_ATTR,
5KVM_GET_DEVICE_ATTR, and KVM_HAS_DEVICE_ATTR. The interface uses the same struct
6kvm_device_attr as other devices, but targets VCPU-wide settings and controls.
7
8The groups and attributes per virtual cpu, if any, are architecture specific.
bb0c70bc
SZ
9
101. GROUP: KVM_ARM_VCPU_PMU_V3_CTRL
11Architectures: ARM64
12
131.1. ATTRIBUTE: KVM_ARM_VCPU_PMU_V3_IRQ
14Parameters: in kvm_device_attr.addr the address for PMU overflow interrupt is a
15 pointer to an int
16Returns: -EBUSY: The PMU overflow interrupt is already set
17 -ENXIO: The overflow interrupt not set when attempting to get it
18 -ENODEV: PMUv3 not supported
19 -EINVAL: Invalid PMU overflow interrupt number supplied
20
21A value describing the PMUv3 (Performance Monitor Unit v3) overflow interrupt
22number for this vcpu. This interrupt could be a PPI or SPI, but the interrupt
23type must be same for each vcpu. As a PPI, the interrupt number is the same for
24all vcpus, while as an SPI it must be a separate number per vcpu.
25
261.2 ATTRIBUTE: KVM_ARM_VCPU_PMU_V3_INIT
27Parameters: no additional parameter in kvm_device_attr.addr
28Returns: -ENODEV: PMUv3 not supported
29 -ENXIO: PMUv3 not properly configured as required prior to calling this
30 attribute
31 -EBUSY: PMUv3 already initialized
32
46848795
CD
33Request the initialization of the PMUv3. This must be done after creating the
34in-kernel irqchip. Creating a PMU with a userspace irqchip is currently not
35supported.
This page took 0.056727 seconds and 5 git commands to generate.