Thread (83 messages) 83 messages, 7 authors, 2016-01-11
STALE3794d

[PATCH v8 20/20] KVM: ARM64: Add a new kvm ARM PMU device

From: Peter Maydell <hidden>
Date: 2016-01-08 10:24:01
Also in: kvm, kvmarm

On 8 January 2016 at 03:06, Shannon Zhao [off-list ref] wrote:

On 2016/1/7 22:56, Peter Maydell wrote:
quoted
quoted
quoted
quoted
+  Errors:
quoted
quoted
quoted
+    -ENXIO: Unsupported attribute group
+    -EBUSY: The PMU overflow interrupt is already set
+    -ENODEV: Getting the PMU overflow interrupt number while it's not set
+    -EINVAL: Invalid vcpu_index or PMU overflow interrupt number supplied
What happens if you create a PMU but then never set the IRQ number?
Is there a default or does the VM refuse to run or something?
If userspace doesn't specify the irq number, the guest will not receive
the PMU interrupt because we check if the irq is initialized when we
inject the interrupt. But guest could still use the vPMU if QEMU
generates a proper DTB or ACPI.
So is it a valid use case to create a PMU with the interrupt not wired
up to anything? (If it's never valid it would be nice to diagnose it
rather than just silently letting the guest run but not work right.)
So how about adding a helper to check if the PMU is completely
initialized and if not, return trap_raz_wi when guest access PMU registers?
That would still be letting the guest run and not work right.

If we have an "I have now completed config" ioctl like the GIC does,
then you could make that ioctl return an error if the config is not
valid.

thanks
-- PMM
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help