From: Christoffer Dall <cdall@linaro.org> To: kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org Cc: kvm@vger.kernel.org, Christoffer Dall <cdall@linaro.org>, Marc Zyngier <marc.zyngier@arm.com>, Pekka Enberg <penberg@iki.fi> Subject: [PATCH v3 0/5] Support userspace irqchip with arch timers Date: Wed, 5 Apr 2017 11:28:10 +0200 [thread overview] Message-ID: <20170405092815.22503-1-cdall@linaro.org> (raw) This series is the second version of the rework of 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 define the ABI, implement timers support, implement PMU support, and finally advertise the features. These patches are based on the recent work from Jintack to support the physical timer in addition to the virtual timer. This series including its dependencies can be found here: git://git.kernel.org/pub/scm/linux/kernel/git/cdall/linux.git irqs-to-user-v3 I tested this using Alex's QEMU patch with his fixes for SMP applied. This seems to be rock-solid. The temporary-not-for-upstream-but-for-testing patch can be found here (force-pushed and rebased since v2): https://git.linaro.org/people/christoffer.dall/qemu-arm.git no-kvm-irqchip I also tested it on 32-bit and it looks good there as well. Changes since v2: - Actually push the right content to the kernel branch, sorry. - Rebased on kvmarm/queue as of this morning (v4.11-rc1+ stuff) - Changed IOCTL numbers as needed Changes since v1: - Rework the ABI to support devices in general as opposed to just timers - Support the PMU in addition to timers - Also support the physical timer (rebased on Jintack's work) - Updated some comments where I noticed things were out of date. 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 [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 user space interrupt signaling ABI KVM: arm/arm64: Support arch timers with a userspace gic Christoffer Dall (3): KVM: arm/arm64: Cleanup the arch timer code's irqchip checking KVM: arm/arm64: Report PMU overflow interrupts to userspace irqchip KVM: arm/arm64: Advertise support for KVM_CAP_ARM_USER_IRQ Documentation/virtual/kvm/api.txt | 42 +++++++++++++ arch/arm/include/uapi/asm/kvm.h | 2 + arch/arm/kvm/arm.c | 28 ++++++--- arch/arm64/include/uapi/asm/kvm.h | 2 + include/kvm/arm_arch_timer.h | 2 + include/kvm/arm_pmu.h | 7 +++ include/uapi/linux/kvm.h | 8 +++ virt/kvm/arm/arch_timer.c | 127 ++++++++++++++++++++++++++++++-------- virt/kvm/arm/pmu.c | 42 +++++++++++-- 9 files changed, 221 insertions(+), 39 deletions(-) -- 2.9.0
WARNING: multiple messages have this Message-ID (diff)
From: cdall@linaro.org (Christoffer Dall) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 0/5] Support userspace irqchip with arch timers Date: Wed, 5 Apr 2017 11:28:10 +0200 [thread overview] Message-ID: <20170405092815.22503-1-cdall@linaro.org> (raw) This series is the second version of the rework of 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 define the ABI, implement timers support, implement PMU support, and finally advertise the features. These patches are based on the recent work from Jintack to support the physical timer in addition to the virtual timer. This series including its dependencies can be found here: git://git.kernel.org/pub/scm/linux/kernel/git/cdall/linux.git irqs-to-user-v3 I tested this using Alex's QEMU patch with his fixes for SMP applied. This seems to be rock-solid. The temporary-not-for-upstream-but-for-testing patch can be found here (force-pushed and rebased since v2): https://git.linaro.org/people/christoffer.dall/qemu-arm.git no-kvm-irqchip I also tested it on 32-bit and it looks good there as well. Changes since v2: - Actually push the right content to the kernel branch, sorry. - Rebased on kvmarm/queue as of this morning (v4.11-rc1+ stuff) - Changed IOCTL numbers as needed Changes since v1: - Rework the ABI to support devices in general as opposed to just timers - Support the PMU in addition to timers - Also support the physical timer (rebased on Jintack's work) - Updated some comments where I noticed things were out of date. 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 [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 user space interrupt signaling ABI KVM: arm/arm64: Support arch timers with a userspace gic Christoffer Dall (3): KVM: arm/arm64: Cleanup the arch timer code's irqchip checking KVM: arm/arm64: Report PMU overflow interrupts to userspace irqchip KVM: arm/arm64: Advertise support for KVM_CAP_ARM_USER_IRQ Documentation/virtual/kvm/api.txt | 42 +++++++++++++ arch/arm/include/uapi/asm/kvm.h | 2 + arch/arm/kvm/arm.c | 28 ++++++--- arch/arm64/include/uapi/asm/kvm.h | 2 + include/kvm/arm_arch_timer.h | 2 + include/kvm/arm_pmu.h | 7 +++ include/uapi/linux/kvm.h | 8 +++ virt/kvm/arm/arch_timer.c | 127 ++++++++++++++++++++++++++++++-------- virt/kvm/arm/pmu.c | 42 +++++++++++-- 9 files changed, 221 insertions(+), 39 deletions(-) -- 2.9.0
next reply other threads:[~2017-04-05 9:28 UTC|newest] Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-04-05 9:28 Christoffer Dall [this message] 2017-04-05 9:28 ` [PATCH v3 0/5] Support userspace irqchip with arch timers Christoffer Dall 2017-04-05 9:28 ` [PATCH v3 1/5] KVM: arm/arm64: Cleanup the arch timer code's irqchip checking Christoffer Dall 2017-04-05 9:28 ` Christoffer Dall 2017-04-05 9:28 ` [PATCH v3 2/5] KVM: arm/arm64: Add ARM user space interrupt signaling ABI Christoffer Dall 2017-04-05 9:28 ` Christoffer Dall 2017-04-05 9:28 ` [PATCH v3 3/5] KVM: arm/arm64: Support arch timers with a userspace gic Christoffer Dall 2017-04-05 9:28 ` Christoffer Dall 2017-04-06 8:16 ` Alexander Graf 2017-04-06 8:16 ` Alexander Graf 2017-04-06 8:25 ` Marc Zyngier 2017-04-06 8:25 ` Marc Zyngier 2017-04-06 8:27 ` Alexander Graf 2017-04-06 8:27 ` Alexander Graf 2017-04-06 16:49 ` Marc Zyngier 2017-04-06 16:49 ` Marc Zyngier 2017-04-05 9:28 ` [PATCH v3 4/5] KVM: arm/arm64: Report PMU overflow interrupts to userspace irqchip Christoffer Dall 2017-04-05 9:28 ` Christoffer Dall 2017-04-06 17:12 ` Marc Zyngier 2017-04-06 17:12 ` Marc Zyngier 2017-04-06 19:04 ` Christoffer Dall 2017-04-06 19:04 ` Christoffer Dall 2017-04-05 9:28 ` [PATCH v3 5/5] KVM: arm/arm64: Advertise support for KVM_CAP_ARM_USER_IRQ Christoffer Dall 2017-04-05 9:28 ` Christoffer Dall 2017-04-06 17:13 ` Marc Zyngier 2017-04-06 17:13 ` Marc Zyngier 2017-04-06 8:28 ` [PATCH v3 0/5] Support userspace irqchip with arch timers Alexander Graf 2017-04-06 8:28 ` Alexander Graf 2017-04-06 17:31 ` Marc Zyngier 2017-04-06 17:31 ` Marc Zyngier 2017-04-06 19:13 ` Christoffer Dall 2017-04-06 19:13 ` Christoffer Dall
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20170405092815.22503-1-cdall@linaro.org \ --to=cdall@linaro.org \ --cc=kvm@vger.kernel.org \ --cc=kvmarm@lists.cs.columbia.edu \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=marc.zyngier@arm.com \ --cc=penberg@iki.fi \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.