mirror_qemu/hw/arm
Eric Auger 6785aee00c hw/arm/virt: kvm: allow gicv3 by default if v2 cannot work
At the moment if the end-user does not specify the gic-version along
with KVM acceleration, v2 is set by default. However most of the
systems now have GICv3 and sometimes they do not support GICv2
compatibility.

This patch keeps the default v2 selection in all cases except
in the KVM accelerated mode when either
- the host does not support GICv2 in-kernel emulation or
- number of VCPUS exceeds 8.

Those cases did not work anyway so we do not break any compatibility.
Now we get v3 selected in such a case.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reported-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Message-id: 20200311131618.7187-7-eric.auger@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-03-12 16:27:33 +00:00
..
Kconfig hw/arm/allwinner-h3: add EMAC ethernet device 2020-03-12 16:27:33 +00:00
Makefile.objs hw/arm: add Xunlong Orange Pi PC machine 2020-03-12 16:27:33 +00:00
allwinner-a10.c hw/arm/allwinner: add RTC device support 2020-03-12 16:27:33 +00:00
allwinner-h3.c hw/arm/allwinner: add RTC device support 2020-03-12 16:27:33 +00:00
armsse.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
armv7m.c hw/core/loader: Let load_elf() populate a field with CPU-specific flags 2020-01-29 19:28:52 +01:00
aspeed.c arm/aspeed: use memdev for RAM 2020-02-19 16:49:54 +00:00
aspeed_ast2600.c hw/arm: ast2600: Wire up EHCI controllers 2020-02-13 14:14:55 +00:00
aspeed_soc.c hw/arm: ast2400/ast2500: Wire up EHCI controllers 2020-02-13 14:14:55 +00:00
bcm2835_peripherals.c hw/arm/bcm2835_peripherals: Use the SYS_timer 2019-10-25 13:09:27 +01:00
bcm2836.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
boot.c Remove unnecessary cast when using the address_space API 2020-02-20 14:47:08 +01:00
collie.c arm/collie: use memdev for RAM 2020-02-19 16:49:54 +00:00
cubieboard.c hw/arm/allwinner: add SD/MMC host controller 2020-03-12 16:27:33 +00:00
digic.c hw/arm: Use ARM_CPU_TYPE_NAME() macro when appropriate 2019-09-03 16:20:34 +01:00
digic_boards.c arm/digic_boards: use memdev for RAM 2020-02-19 16:49:54 +00:00
exynos4_boards.c Machine + x86 queue, 2019-09-03 2019-09-04 14:44:54 +01:00
exynos4210.c hw/arm/exynos4210: Connect serial port DMA busy signals with pl330 2020-01-23 16:34:15 +00:00
fsl-imx6.c i.MX: Add support for WDT on i.MX6 2020-02-13 14:14:52 +00:00
fsl-imx6ul.c hw/arm: Use ARM_CPU_TYPE_NAME() macro when appropriate 2019-09-03 16:20:34 +01:00
fsl-imx7.c hw/arm: Replace global smp variables with machine smp properties 2019-07-05 17:08:03 -03:00
fsl-imx25.c hw/arm/fsl-imx25: Wire up USB controllers 2020-03-12 16:27:33 +00:00
fsl-imx31.c hw/arm/fsl-imx: Add the cpu as child of the SoC object 2019-09-03 16:20:34 +01:00
gumstix.c hw/arm/gumstix: Simplify since the machines are little-endian only 2020-03-05 16:09:14 +00:00
highbank.c arm/highbank: use memdev for RAM 2020-02-19 16:49:54 +00:00
imx25_pdk.c hw/arm/fsl-imx25: Wire up eSDHC controllers 2020-03-12 16:27:33 +00:00
integratorcp.c hw/arm/integratorcp: Map the audio codec controller 2020-02-28 16:14:57 +00:00
kzm.c arm/kzm: use memdev for RAM 2020-02-19 16:49:55 +00:00
mainstone.c hw/arm/mainstone: Simplify since the machines are little-endian only 2020-03-05 16:09:15 +00:00
mcimx6ul-evk.c arm/mcimx6ul-evk: use memdev for RAM 2020-02-19 16:49:55 +00:00
mcimx7d-sabre.c arm/mcimx7d-sabre: use memdev for RAM 2020-02-19 16:49:55 +00:00
microbit.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
mps2-tz.c arm/mps2-tz: use memdev for RAM 2020-02-19 16:49:55 +00:00
mps2.c arm/mps2: use memdev for RAM 2020-02-19 16:49:55 +00:00
msf2-soc.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
msf2-som.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
musca.c hw: Move PL031 device from hw/timer/ to hw/rtc/ subdirectory 2019-10-24 20:10:27 +02:00
musicpal.c hw/arm/musicpal: Simplify since the machines are little-endian only 2020-03-05 16:09:15 +00:00
netduino2.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
netduinoplus2.c hw/arm: Add the Netduino Plus 2 2020-01-17 14:09:29 +00:00
nrf51_soc.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
nseries.c arm/nseries: use memdev for RAM 2020-02-19 16:49:56 +00:00
omap1.c omap-gpio: remove PROP_PTR 2020-01-07 17:24:29 +04:00
omap2.c omap-gpio: remove PROP_PTR 2020-01-07 17:24:29 +04:00
omap_sx1.c hw/arm/omap_sx1: Simplify since the machines are little-endian only 2020-03-05 16:09:15 +00:00
orangepi.c hw/arm/allwinner-h3: add SDRAM controller device 2020-03-12 16:27:33 +00:00
palm.c arm/palm: use memdev for RAM 2020-02-19 16:49:56 +00:00
pxa2xx.c hw/arm/pxa2xx: move timer_new from init() into realize() to avoid memleaks 2020-03-05 16:09:15 +00:00
pxa2xx_gpio.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
pxa2xx_pic.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
raspi.c arm/raspi: use memdev for RAM 2020-02-19 16:49:56 +00:00
realview.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
sabrelite.c arm/sabrelite: use memdev for RAM 2020-02-19 16:49:56 +00:00
sbsa-ref.c hw/arm: Use TYPE_PL011 to create serial port 2020-02-28 16:14:57 +00:00
smmu-common.c hw/arm/smmu-common: Simplify smmu_find_smmu_pcibus() logic 2020-03-05 16:09:14 +00:00
smmu-internal.h hw/arm/smmu-common: VMSAv8-64 page table walk 2018-05-04 18:05:51 +01:00
smmuv3-internal.h hw/arm/smmuv3: Use correct bit positions in EVT_SET_ADDR2 macro 2019-12-20 14:03:00 +00:00
smmuv3.c hw: Remove unnecessary cast when calling dma_memory_read() 2020-02-20 14:47:08 +01:00
spitz.c hw/arm/spitz: move timer_new from init() into realize() to avoid memleaks 2020-03-05 16:09:16 +00:00
stellaris.c stellaris: delay timer_new to avoid memleaks 2020-02-07 14:04:28 +00:00
stm32f205_soc.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
stm32f405_soc.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
strongarm.c hw/arm/strongarm: move timer_new from init() into realize() to avoid memleaks 2020-03-05 16:09:16 +00:00
strongarm.h hw/arm/collie: Create the RAM in the board 2019-10-22 17:44:01 +01:00
sysbus-fdt.c hw/arm/virt: vTPM support 2020-03-05 12:18:16 -05:00
tosa.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
trace-events trace-events: Fix attribution of trace points to source 2019-03-22 16:18:07 +00:00
versatilepb.c arm/versatilepb: use memdev for RAM 2020-02-19 16:49:56 +00:00
vexpress.c arm/vexpress: use memdev for RAM 2020-02-19 16:49:56 +00:00
virt-acpi-build.c arm/acpi: simplify the description of PCI _CRS 2020-02-13 14:14:53 +00:00
virt.c hw/arm/virt: kvm: allow gicv3 by default if v2 cannot work 2020-03-12 16:27:33 +00:00
xilinx_zynq.c hw/arm/xilinx_zynq: Fix USB port instantiation 2020-02-28 16:14:57 +00:00
xlnx-versal-virt.c hw/arm: versal: Generate xlnx-versal-virt zdma FDT nodes 2020-03-05 16:09:14 +00:00
xlnx-versal.c hw/arm: versal: Add support for the LPD ADMAs 2020-03-05 16:09:13 +00:00
xlnx-zcu102.c arm/xlnx-zcu102: use memdev for RAM 2020-02-19 16:49:57 +00:00
xlnx-zynqmp.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
z2.c hw/arm/z2: Simplify since the machines are little-endian only 2020-03-05 16:09:15 +00:00