[PATCH v3 2/2] KVM: arm/arm64: Route vtimer events to user space

2016-09-15 Thread Alexander Graf
We have 2 modes for dealing with interrupts in the ARM world. We can either handle them all using hardware acceleration through the vgic or we can emulate a gic in user space and only drive CPU IRQ pins from there. Unfortunately, when driving IRQs from user space, we never tell user space about ti

[PATCH v3 0/2] KVM: ARM: Enable vtimers with user space gic

2016-09-15 Thread Alexander Graf
Some systems out there (well, one type in particular - the Raspberry Pi series) do have virtualization capabilities in the core, but no ARM GIC interrupt controller. To run on these systems, the cleanest route is to just handle all interrupt delivery in user space and only deal with IRQ pins in th

[PATCH v3 1/2] KVM: arm/arm64: Add vcpu ENABLE_CAP functionality

2016-09-15 Thread Alexander Graf
In a follow-up patch we will need to enable capabilities on demand for backwards compatibility. This patch adds the generic framework to handle vcpu cap enablement to the arm code base. Signed-off-by: Alexander Graf --- Documentation/virtual/kvm/api.txt | 4 +++- arch/arm/kvm/arm.c

[PATCH] KVM: arm/arm64: timer: Fix hw sync for user space irqchip path

2016-09-15 Thread Alexander Graf
While adding the new vgic implementation, apparently nobody tested the non-vgic path where user space controls the vgic, so two functions slipped through the cracks that get called in generic code but don't check whether hardware support is enabled. This patch guards them with proper checks to ens

[PATCH v2] KVM: arm/arm64: Route vtimer events to user space

2016-09-15 Thread Alexander Graf
We have 2 modes for dealing with interrupts in the ARM world. We can either handle them all using hardware acceleration through the vgic or we can emulate a gic in user space and only drive CPU IRQ pins from there. Unfortunately, when driving IRQs from user space, we never tell user space about ti

[PATCH v2] KVM: arm/arm64: Route vtimer events to user space

2016-09-15 Thread Alexander Graf
We have 2 modes for dealing with interrupts in the ARM world. We can either handle them all using hardware acceleration through the vgic or we can emulate a gic in user space and only drive CPU IRQ pins from there. Unfortunately, when driving IRQs from user space, we never tell user space about ti

[PATCH] KVM: arm/arm64: Route vtimer events to user space

2016-09-15 Thread Alexander Graf
We have 2 modes for dealing with interrupts in the ARM world. We can either handle them all using hardware acceleration through the vgic or we can emulate a gic in user space and only drive CPU IRQ pins from there. Unfortunately, when driving IRQs from user space, we never tell user space about ti

Re: [PATCH v4 00/10] ARM: KVM: Support for vgic-v3

2016-09-15 Thread Vladimir Murzin
Hi Christoffer, On 15/09/16 10:13, Christoffer Dall wrote: > Hi Valdimir, > > On Mon, Sep 12, 2016 at 03:49:14PM +0100, Vladimir Murzin wrote: >> Hi, >> >> This is an attempt to make use vgic-v3 under arch/arm since >> save-restore functionality got re-written in C and can be shared >> between ar

Re: [PATCH v4 00/10] ARM: KVM: Support for vgic-v3

2016-09-15 Thread Christoffer Dall
Hi Valdimir, On Mon, Sep 12, 2016 at 03:49:14PM +0100, Vladimir Murzin wrote: > Hi, > > This is an attempt to make use vgic-v3 under arch/arm since > save-restore functionality got re-written in C and can be shared > between arm/arm64 like it has already been done for vgic-v2 and timer. > > With

Re: [PATCH v4 01/10] arm64: KVM: Use static keys for selecting the GIC backend

2016-09-15 Thread Christoffer Dall
On Wed, Sep 14, 2016 at 04:20:00PM +0100, Vladimir Murzin wrote: > On 13/09/16 10:22, Christoffer Dall wrote: > > On Tue, Sep 13, 2016 at 10:11:10AM +0100, Marc Zyngier wrote: > >> On 13/09/16 09:20, Christoffer Dall wrote: > >>> On Mon, Sep 12, 2016 at 03:49:15PM +0100, Vladimir Murzin wrote: > >>