linux/arch/arm/kvm
Pavel Fedin 26550ff8f2 arm/arm64: KVM: vgic: Check for !irqchip_in_kernel() when mapping resources
commit c2f58514cf upstream.

Until b26e5fdac4 ("arm/arm64: KVM: introduce per-VM ops"),
kvm_vgic_map_resources() used to include a check on irqchip_in_kernel(),
and vgic_v2_map_resources() still has it.

But now vm_ops are not initialized until we call kvm_vgic_create().
Therefore kvm_vgic_map_resources() can being called without a VGIC,
and we die because vm_ops.map_resources is NULL.

Fixing this restores QEMU's kernel-irqchip=off option to a working state,
allowing to use GIC emulation in userspace.

Fixes: b26e5fdac4 ("arm/arm64: KVM: introduce per-VM ops")
Signed-off-by: Pavel Fedin <p.fedin@samsung.com>
[maz: reworked commit message]
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2015-09-29 19:26:00 +02:00
..
arm.c arm/arm64: KVM: vgic: Check for !irqchip_in_kernel() when mapping resources 2015-09-29 19:26:00 +02:00
coproc.c arm/arm64: KVM: Use set/way op trapping to track the state of the caches 2015-01-29 23:24:56 +01:00
coproc.h arm/arm64: KVM: Use set/way op trapping to track the state of the caches 2015-01-29 23:24:56 +01:00
coproc_a7.c arm/arm64: KVM: Use set/way op trapping to track the state of the caches 2015-01-29 23:24:56 +01:00
coproc_a15.c arm/arm64: KVM: Use set/way op trapping to track the state of the caches 2015-01-29 23:24:56 +01:00
emulate.c KVM: ARM: Fix typo in comments of inject_abt() 2013-10-02 17:29:19 +01:00
guest.c arm/arm64: KVM: Kill CONFIG_KVM_ARM_{VGIC,TIMER} 2015-03-12 15:15:27 +01:00
handle_exit.c ARM: KVM: extend WFI tracepoint to differentiate between wfi and wfe 2015-01-15 13:12:27 +01:00
init.S ARM: kvm: round HYP section to page size instead of log2 upper bound 2015-03-27 12:21:27 +00:00
interrupts.S arm: KVM: force execution of HCPTR access on VM exit 2015-07-10 09:49:34 -07:00
interrupts_head.S arm: KVM: force execution of HCPTR access on VM exit 2015-07-10 09:49:34 -07:00
Kconfig KVM: arm/arm64: add irqfd support 2015-03-12 15:15:34 +01:00
Makefile KVM: arm/arm64: remove now unneeded include directory from Makefile 2015-03-26 21:43:13 +00:00
mmio.c KVM: arm/arm64: rework MMIO abort handling to use KVM MMIO bus 2015-03-30 17:07:19 +01:00
mmu.c arm64 updates for 4.1: 2015-04-16 13:58:29 -05:00
perf.c ARM: KVM: add support for minimal host vs guest profiling 2013-04-28 21:44:01 -07:00
psci.c ARM: kvm: psci: fix handling of unimplemented functions 2015-07-10 09:49:34 -07:00
reset.c Updates for KVM/ARM, take 3 supporting more than 4 CPUs. 2013-11-11 12:02:27 +01:00
trace.h arm/arm64: KVM: Optimize handling of Access Flag faults 2015-03-12 22:34:49 +01:00