diff options
author | Christoffer Dall <cdall@linaro.org> | 2017-05-02 13:41:02 +0200 |
---|---|---|
committer | Christoffer Dall <cdall@linaro.org> | 2017-06-08 16:59:44 +0200 |
commit | a2befacf50940017e0de8461c4b924a929c4edc5 (patch) | |
tree | aa53d740e25468b943b0d89d0b51cd3a35d9ca75 /include/kvm | |
parent | 1b6502e5bc5ef16179bcd812dfa43d8bbb5689d4 (diff) | |
download | linux-stable-a2befacf50940017e0de8461c4b924a929c4edc5.tar.gz linux-stable-a2befacf50940017e0de8461c4b924a929c4edc5.tar.bz2 linux-stable-a2befacf50940017e0de8461c4b924a929c4edc5.zip |
KVM: arm64: Allow creating the PMU without the in-kernel GIC
Since we got support for devices in userspace which allows reporting the
PMU overflow output status to userspace, we should actually allow
creating the PMU on systems without an in-kernel irqchip, which in turn
requires us to slightly clarify error codes for the ABI and move things
around for the initialization phase.
Signed-off-by: Christoffer Dall <cdall@linaro.org>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'include/kvm')
-rw-r--r-- | include/kvm/arm_pmu.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/kvm/arm_pmu.h b/include/kvm/arm_pmu.h index 1ab4633adf4f..f6e030617467 100644 --- a/include/kvm/arm_pmu.h +++ b/include/kvm/arm_pmu.h @@ -35,6 +35,7 @@ struct kvm_pmu { int irq_num; struct kvm_pmc pmc[ARMV8_PMU_MAX_COUNTERS]; bool ready; + bool created; bool irq_level; }; @@ -63,6 +64,7 @@ int kvm_arm_pmu_v3_get_attr(struct kvm_vcpu *vcpu, struct kvm_device_attr *attr); int kvm_arm_pmu_v3_has_attr(struct kvm_vcpu *vcpu, struct kvm_device_attr *attr); +int kvm_arm_pmu_v3_enable(struct kvm_vcpu *vcpu); #else struct kvm_pmu { }; @@ -112,6 +114,10 @@ static inline int kvm_arm_pmu_v3_has_attr(struct kvm_vcpu *vcpu, { return -ENXIO; } +static inline int kvm_arm_pmu_v3_enable(struct kvm_vcpu *vcpu) +{ + return 0; +} #endif #endif |