qemu/hw/arm
Gavin Shan 6a48c64eec hw/arm/virt: Add properties to disable high memory regions
The 3 high memory regions are usually enabled by default, but they may
be not used. For example, VIRT_HIGH_GIC_REDIST2 isn't needed by GICv2.
This leads to waste in the PA space.

Add properties ("highmem-redists", "highmem-ecam", "highmem-mmio") to
allow users selectively disable them if needed. After that, the high
memory region for GICv3 or GICv4 redistributor can be disabled by user,
the number of maximal supported CPUs needs to be calculated based on
'vms->highmem_redists'. The follow-up error message is also improved
to indicate if the high memory region for GICv3 and GICv4 has been
enabled or not.

Suggested-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Message-id: 20221029224307.138822-8-gshan@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2022-12-15 11:18:19 +00:00
..
allwinner-a10.c
allwinner-h3.c block: Change blk_{pread,pwrite}() param order 2022-07-12 12:14:56 +02:00
armsse.c
armv7m.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
aspeed_ast10x0.c aspeed: Refactor UART init for multi-SoC machines 2022-07-14 16:24:38 +02:00
aspeed_ast2600.c ast2600: Drop NEON from the CPU features 2022-10-24 11:20:15 +02:00
aspeed_soc.c aspeed: Refactor UART init for multi-SoC machines 2022-07-14 16:24:38 +02:00
aspeed.c reset: allow registering handlers that aren't called by snapshot loading 2022-10-27 11:34:31 +01:00
bcm2835_peripherals.c Align Raspberry Pi DMA interrupts with Linux DTS 2022-07-18 13:25:13 +01:00
bcm2836.c
boot.c hw/arm/boot: Set SCR_EL3.HXEn when booting kernel 2022-11-04 10:58:58 +00:00
collie.c
cubieboard.c
digic_boards.c
digic.c
exynos4_boards.c
exynos4210.c
fby35.c aspeed/fby35: Fix owner of the BMC RAM memory region 2022-08-01 15:24:15 +02:00
fsl-imx6.c
fsl-imx6ul.c
fsl-imx7.c
fsl-imx25.c
fsl-imx31.c
gumstix.c
highbank.c
imx25_pdk.c
integratorcp.c
Kconfig hw/arm/virt: Enable HMAT on arm virt machine 2022-11-07 14:08:17 -05:00
kzm.c
mainstone.c
mcimx6ul-evk.c
mcimx7d-sabre.c
meson.build aspeed: Add fby35 skeleton 2022-07-14 16:24:38 +02:00
microbit.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
mps2-tz.c reset: allow registering handlers that aren't called by snapshot loading 2022-10-27 11:34:31 +01:00
mps2.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
msf2-soc.c
msf2-som.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
musca.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
musicpal.c
netduino2.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
netduinoplus2.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
npcm7xx_boards.c
npcm7xx.c
nrf51_soc.c
nseries.c Drop useless casts from g_malloc() & friends to pointer 2022-10-22 23:15:40 +02:00
omap1.c
omap2.c trivial: Fix duplicated words 2022-08-01 11:58:02 +02:00
omap_sx1.c
orangepi.c
palm.c
pxa2xx_gpio.c
pxa2xx_pic.c
pxa2xx.c hw/i2c: add asynchronous send 2022-06-30 09:21:14 +02:00
raspi.c
realview.c
sabrelite.c
sbsa-ref.c
smmu-common.c
smmu-internal.h
smmuv3-internal.h
smmuv3.c
spitz.c
stellaris.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
stm32f100_soc.c
stm32f205_soc.c
stm32f405_soc.c
stm32vldiscovery.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
strongarm.c
strongarm.h
tosa.c
trace-events
trace.h
versatilepb.c
vexpress.c
virt-acpi-build.c hw/arm/virt: Enable HMAT on arm virt machine 2022-11-07 14:08:17 -05:00
virt.c hw/arm/virt: Add properties to disable high memory regions 2022-12-15 11:18:19 +00:00
xilinx_zynq.c
xlnx-versal-virt.c
xlnx-versal.c
xlnx-zcu102.c
xlnx-zynqmp.c hw/arm/xlnx-zynqmp: Connect ZynqMP's USB controllers 2022-09-29 17:40:01 +01:00
z2.c