[PATCH 0/3] Support userspace irqchip with arch timers

Christoffer Dall christoffer.dall at linaro.org
Tue Sep 27 12:08:03 PDT 2016


Hi Alex,

Marc and I have been looking at this during Linaro connect and have
slightly reworked your patch into this small series.

It would be good if you could have a look at it and test it out.

I've tested it with your QEMU, and it works for UP, but secondary CPUs
fail to come up, and it looks like the kernel never gets an IPI for
those CPUs from userspace.  Any chance you're willing to take a look at
that?

Also, let me know if the split of your patch with preserving your
authorship is ok with you.

Thanks,
-Christoffer

---

This series slightly reworks the patches to support architected timers
with a userspace irqchip sent by Alexander Graf [1].

We first cleanup some of the timer code to make it easier to understand
what is being done in the later patches, and then split up the
implementation into two separate patches (maintaining original
authorship).

Several changes have been made compared to v7 of the original single
patch, including:
 - Rewording ABI documentation to be more in line with the ARM
   architecture
 - Add an explicit check for needing to notify userspace of a level
   change instead of propagating the value
 - Changes to commenting throughout to more accurately describe the
   architecture concepts we try to maintain
 - Reword of functions, for example from sync to update when the date
   only flows one direction

These patches are based on two fixes necessary to test them which deal
with running kernel code without an in-kernl irqchip, and they are both
in kvmarm/next[2].

[1]: https://lists.cs.columbia.edu/pipermail/kvmarm/2016-September/021867.html
[2]: git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next

Alexander Graf (2):
  KVM: arm/arm64: Add ARM arch timer interrupts ABI
  KVM: arm/arm64: Support arch timers with a userspace gic

Christoffer Dall (1):
  KVM: arm/arm64: Cleanup the arch timer code's irqchip checking

 Documentation/virtual/kvm/api.txt |  29 ++++++++++
 arch/arm/include/uapi/asm/kvm.h   |   2 +
 arch/arm/kvm/arm.c                |  19 +++----
 arch/arm64/include/uapi/asm/kvm.h |   2 +
 include/kvm/arm_arch_timer.h      |   2 +
 include/uapi/linux/kvm.h          |   6 +++
 virt/kvm/arm/arch_timer.c         | 111 ++++++++++++++++++++++++++++++--------
 7 files changed, 139 insertions(+), 32 deletions(-)

-- 
2.9.0




More information about the linux-arm-kernel mailing list