KVM: arm/arm64: Move timer IRQ map to latest possible time
authorChristoffer Dall <christoffer.dall@linaro.org>
Wed, 18 May 2016 15:26:00 +0000 (16:26 +0100)
committerChristoffer Dall <christoffer.dall@linaro.org>
Fri, 20 May 2016 13:39:41 +0000 (15:39 +0200)
commit41a54482c010d8806cf56e1501bb3b61fac14cf9
treee8b452eddf3b83137d4a771e687deee289c422d5
parentc8eb3f6b9bc31abc0ab3230737fde1639c8b1ea6
KVM: arm/arm64: Move timer IRQ map to latest possible time

We are about to modify the VGIC to allocate all data structures
dynamically and store mapped IRQ information on a per-IRQ struct, which
is indeed allocated dynamically at init time.

Therefore, we cannot record the mapped IRQ info from the timer at timer
reset time like it's done now, because VCPU reset happens before timer
init.

A possible later time to do this is on the first run of a per VCPU, it
just requires us to move the enable state to be a per-VCPU state and do
the lookup of the physical IRQ number when we are about to run the VCPU.

Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
arch/arm/kvm/arm.c
include/kvm/arm_arch_timer.h
virt/kvm/arm/arch_timer.c
virt/kvm/arm/hyp/timer-sr.c