linux/arch/arm
Pavel Fedin c7da6fa43c arm/arm64: KVM: Detect vGIC presence at runtime
Before commit 662d971584
("arm/arm64: KVM: Kill CONFIG_KVM_ARM_{VGIC,TIMER}") is was possible to
compile the kernel without vGIC and vTimer support. Commit message says
about possibility to detect vGIC support in runtime, but this has never
been implemented.

This patch introduces runtime check, restoring the lost functionality.
It again allows to use KVM on hardware without vGIC. Interrupt
controller has to be emulated in userspace in this case.

-ENODEV return code from probe function means there's no GIC at all.
-ENXIO happens when, for example, there is GIC node in the device tree,
but it does not specify vGIC resources. Any other error code is still
treated as full stop because it might mean some really serious problems.

Signed-off-by: Pavel Fedin <p.fedin@samsung.com>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2015-12-18 12:01:58 +00:00
..
boot ARM: SoC fixes for 4.4-rc 2015-12-12 16:43:44 -08:00
common dmaengine updates for 4.4-rc1 2015-11-10 10:05:17 -08:00
configs ARM: at91/defconfig: remove CONFIG_SSB from Atmel defconfigs 2015-11-16 15:53:03 +01:00
crypto
firmware
include arm64: KVM: Add support for 16-bit VMID 2015-12-18 10:15:12 +00:00
kernel Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2015-11-29 17:13:07 -08:00
kvm arm/arm64: KVM: Detect vGIC presence at runtime 2015-12-18 12:01:58 +00:00
lib
mach-alpine
mach-asm9260
mach-at91 ARM: at91: fix pinctrl driver selection 2015-12-04 18:54:53 +01:00
mach-axxia
mach-bcm ARM: SoC platform updates for v4.4 2015-11-10 14:56:23 -08:00
mach-berlin arm: berlin: add CPU hotplug support 2015-10-15 21:14:28 +02:00
mach-clps711x
mach-cns3xxx
mach-davinci ARM: SoC non-urgent fixes for v4.4 2015-11-10 14:45:05 -08:00
mach-digicolor ARM: digicolor: select pinctrl/gpio driver 2015-10-15 22:27:30 +02:00
mach-dove ARM: dove: Fix legacy get_irqnr_and_base 2015-11-25 14:59:12 +00:00
mach-ebsa110
mach-efm32
mach-ep93xx
mach-exynos ARM: EXYNOS: Fix potential NULL pointer access in exynos_sys_powerdown_conf 2015-11-17 13:32:56 +09:00
mach-footbridge
mach-gemini ARM: gemini: remove unnecessary mdio-gpio includes 2015-10-21 19:50:43 -07:00
mach-highbank
mach-hisi
mach-imx ARM: imx: add platform irq type setting in gpc 2015-11-23 13:12:07 +08:00
mach-integrator
mach-iop13xx
mach-iop32x
mach-iop33x
mach-ixp4xx ARM: ixp4xx: fix read{b,w,l} return types 2015-12-01 23:45:30 +01:00
mach-keystone
mach-ks8695
mach-lpc18xx
mach-lpc32xx
mach-mediatek ARM: SoC platform updates for v4.4 2015-11-10 14:56:23 -08:00
mach-meson
mach-mmp
mach-moxart
mach-mv78xx0
mach-mvebu ARM: SoC platform updates for v4.4 2015-11-10 14:56:23 -08:00
mach-mxs
mach-netx
mach-nomadik
mach-nspire
mach-omap1
mach-omap2 ARM: OMAP2+: enable REGULATOR_FIXED_VOLTAGE 2015-11-30 14:38:05 -08:00
mach-orion5x ARM: orion5x: Fix legacy get_irqnr_and_base 2015-11-25 15:01:00 +00:00
mach-picoxcell
mach-prima2 ARM: Remove __ref on hotplug cpu die path 2015-10-22 09:55:03 -07:00
mach-pxa ARM: pxa: use PWM lookup table for all machines 2015-12-11 00:27:58 +01:00
mach-qcom ARM: Remove __ref on hotplug cpu die path 2015-10-22 09:55:03 -07:00
mach-realview ARM: Remove __ref on hotplug cpu die path 2015-10-22 09:55:03 -07:00
mach-rockchip
mach-rpc
mach-s3c24xx cpufreq: s3c24xx: Do not mark s3c2410_plls_add as __init 2015-11-27 10:10:32 +09:00
mach-s3c64xx ARM: SoC platform updates for v4.4 2015-11-10 14:56:23 -08:00
mach-s5pv210
mach-sa1100
mach-shmobile ARM: shmobile: r8a7793: proper constness with __initconst 2015-11-22 17:13:13 -08:00
mach-socfpga
mach-spear ARM: SoC cleanups for v4.4 2015-11-10 14:48:36 -08:00
mach-sti
mach-stm32
mach-sunxi ARM: SoC platform updates for v4.4 2015-11-10 14:56:23 -08:00
mach-tegra ARM: SoC platform updates for v4.4 2015-11-10 14:56:23 -08:00
mach-u300 spi: Updates for v4.4 2015-11-05 13:15:12 -08:00
mach-uniphier ARM: uniphier: rework SMP operations to use trampoline code 2015-10-27 09:20:53 +09:00
mach-ux500 ARM: SoC cleanups for v4.4 2015-11-10 14:48:36 -08:00
mach-versatile
mach-vexpress ARM: Remove __ref on hotplug cpu die path 2015-10-22 09:55:03 -07:00
mach-vt8500
mach-w90x900
mach-zx ARM: zx: only build power domain code when CONFIG_PM=y 2015-11-19 16:16:45 +01:00
mach-zynq
mm ARM: SoC platform updates for v4.4 2015-11-10 14:56:23 -08:00
net bpf, arm: start flushing icache range from header 2015-11-16 14:40:49 -05:00
nwfpe
oprofile
plat-iop
plat-omap
plat-orion mvebu fixes for 4.3 (part 1) 2015-10-14 17:10:55 +02:00
plat-pxa
plat-samsung
plat-versatile
probes
tools
vdso ARM: 8449/1: fix bug in vdsomunge swab32 macro 2015-10-29 15:20:15 +00:00
vfp
xen mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd 2015-11-06 17:50:42 -08:00
Kconfig ARM: 8454/1: OF implies OF_FLATTREE 2015-11-28 23:26:12 +00:00
Kconfig-nommu
Kconfig.debug ARM: SoC platform updates for v4.4 2015-11-10 14:56:23 -08:00
Makefile