linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] Userspace timer IRQ number control and PMU with userspace-gic
@ 2017-05-03 18:32 Christoffer Dall
  2017-05-03 18:32 ` [PATCH 1/5] KVM: arm64: Allow creating the PMU without the in-kernel GIC Christoffer Dall
                   ` (4 more replies)
  0 siblings, 5 replies; 21+ messages in thread
From: Christoffer Dall @ 2017-05-03 18:32 UTC (permalink / raw)
  To: linux-arm-kernel

So far we have been getting away with letting the kernel choosing
interrupt numbers for the timers in the kernel and we have crossed our
fingers in hoping that the DT/ACPI provided by userspace matches with
the interrupt number we use in the kernel for a given VCPU type.

But as we are generally moving towards letting userspace be in more fine
grained control of what is being emulated, let userspace decide the irq
numbers for the timers.

Slightly related, and therefore included in this series, we have
recently added support for a userspace GIC while still supporting the
generic timers and the PMU from inside the VM.  Unfortunately we forgot
to rework the code to actually let userspace create the PMU device
without creating an in-kernel GIC.

Tested on APM X-Gene, AMD Seattle, and TC2.

QEMU patches used for testing can be found here:

https://git.linaro.org/people/christoffer.dall/qemu-arm.git timer-pmu-irqs


Thanks,
-Christoffer

Christoffer Dall (5):
  KVM: arm64: Allow creating the PMU without the in-kernel GIC
  KVM: arm: Handle VCPU device attributes in guest.c
  KVM: arm/arm64: Move irq_is_ppi() to header file
  KVM: arm/arm64: Move timer IRQ default init to arch_timer.c
  KVM: arm/arm64: Allow setting the timer IRQ numbers from userspace

 Documentation/virtual/kvm/devices/vcpu.txt |  41 +++++++--
 arch/arm/include/asm/kvm_host.h            |  22 ++---
 arch/arm/include/uapi/asm/kvm.h            |   8 ++
 arch/arm/kvm/guest.c                       |  51 +++++++++++
 arch/arm/kvm/reset.c                       |  16 +---
 arch/arm64/include/uapi/asm/kvm.h          |   3 +
 arch/arm64/kvm/guest.c                     |   9 ++
 arch/arm64/kvm/reset.c                     |  16 +---
 include/kvm/arm_arch_timer.h               |   8 +-
 include/kvm/arm_vgic.h                     |   2 +
 virt/kvm/arm/arch_timer.c                  | 132 ++++++++++++++++++++++++++---
 virt/kvm/arm/pmu.c                         |  29 ++++---
 12 files changed, 258 insertions(+), 79 deletions(-)

-- 
2.9.0

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2017-05-16 10:38 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-03 18:32 [PATCH 0/5] Userspace timer IRQ number control and PMU with userspace-gic Christoffer Dall
2017-05-03 18:32 ` [PATCH 1/5] KVM: arm64: Allow creating the PMU without the in-kernel GIC Christoffer Dall
2017-05-04  8:09   ` Marc Zyngier
2017-05-04  8:13     ` Christoffer Dall
2017-05-04  8:28       ` Marc Zyngier
2017-05-04  8:38         ` Christoffer Dall
2017-05-04  9:05           ` Marc Zyngier
2017-05-04  9:44             ` Christoffer Dall
2017-05-04 10:16               ` Marc Zyngier
2017-05-04 10:38                 ` Christoffer Dall
2017-05-03 18:32 ` [PATCH 2/5] KVM: arm: Handle VCPU device attributes in guest.c Christoffer Dall
2017-05-03 18:32 ` [PATCH 3/5] KVM: arm/arm64: Move irq_is_ppi() to header file Christoffer Dall
2017-05-04  8:11   ` Marc Zyngier
2017-05-03 18:32 ` [PATCH 4/5] KVM: arm/arm64: Move timer IRQ default init to arch_timer.c Christoffer Dall
2017-05-03 18:33 ` [PATCH 5/5] KVM: arm/arm64: Allow setting the timer IRQ numbers from userspace Christoffer Dall
2017-05-04  9:34   ` Marc Zyngier
2017-05-04  9:59     ` Christoffer Dall
2017-05-04 10:54       ` Marc Zyngier
2017-05-04 11:22         ` Christoffer Dall
2017-05-16  6:54           ` Christoffer Dall
2017-05-16 10:38             ` Christoffer Dall

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).