qemu/hw/arm
Alistair Francis dc3b89ef87 xlnx-zynqmp: Add support for high DDR memory regions
The Xilinx ZynqMP SoC and EP108 board supports three memory regions:
 - A 2GB region starting at 0
 - A 32GB region starting at 32GB
 - A 256GB region starting at 768GB

This patch adds support for the first two memory regions, which is
automatically created based on the size specified by the QEMU memory
command line argument.

On hardware the physical memory region is one continuous region, it is then
mapped into the three different regions by the DDRC. As we don't model the
DDRC this is done at startup by QEMU. The board creates the memory region and
then passes that memory region to the SoC. The SoC then maps the memory
regions.

Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Reviewed-by: Peter Crosthwaite <crosthwaite.peter@gmail.com>
Message-id: a1e47db941d65733724a300fcd98b74fbeeaaf22.1452637205.git.alistair.francis@xilinx.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2016-01-15 14:34:54 +00:00
..
allwinner-a10.c arm: allwinner-a10: Add SATA 2015-11-06 14:09:01 -05:00
armv7m.c armv7-m: Return DeviceState* from armv7m_init() 2015-11-03 13:49:41 +00:00
boot.c arm: boot: Add secure_board_setup flag 2015-11-10 13:37:33 +00:00
collie.c target-arm: Provide model numbers for Sharp PDAs 2015-10-16 11:14:53 +01:00
cubieboard.c error: Use error_reportf_err() where it makes obvious sense 2016-01-13 15:16:17 +01:00
digic_boards.c error: Use error_reportf_err() where it makes obvious sense 2016-01-13 15:16:17 +01:00
digic.c qdev: Protect device-list-properties against broken devices 2015-10-09 15:25:57 +02:00
exynos4_boards.c Revert use of DEFINE_MACHINE() for registrations of multiple machines 2015-09-19 16:40:27 +02:00
exynos4210.c Use error_fatal to simplify obvious fatal errors 2016-01-13 11:58:58 +01:00
fsl-imx25.c i.MX: Add an i.MX25 specific CCM class/instance 2015-12-17 13:37:16 +00:00
fsl-imx31.c i.MX: Split the CCM class into an abstract base class and a concrete class 2015-12-17 13:37:15 +00:00
gumstix.c Revert use of DEFINE_MACHINE() for registrations of multiple machines 2015-09-19 16:40:27 +02:00
highbank.c hw: Don't use hw_error() for machine initialization errors 2016-01-13 11:58:58 +01:00
imx25_pdk.c error: Use error_report_err() where appropriate (again) 2016-01-13 15:16:16 +01:00
integratorcp.c Use error_fatal to simplify obvious fatal errors 2016-01-13 11:58:58 +01:00
kzm.c error: Use error_report_err() where appropriate (again) 2016-01-13 15:16:16 +01:00
mainstone.c Use DEFINE_MACHINE() to register all machines 2015-09-19 16:40:15 +02:00
Makefile.objs i.MX: Add the i.MX25 PDK platform 2015-09-07 10:39:31 +01:00
musicpal.c Use DEFINE_MACHINE() to register all machines 2015-09-19 16:40:15 +02:00
netduino2.c error: Use error_report_err() where appropriate (again) 2016-01-13 15:16:16 +01:00
nseries.c hw: Inline the qdev_prop_set_drive_nofail() wrapper 2016-01-13 11:58:58 +01:00
omap1.c Fix bad error handling after memory_region_init_ram() 2015-09-18 14:39:29 +02:00
omap2.c Fix bad error handling after memory_region_init_ram() 2015-09-18 14:39:29 +02:00
omap_sx1.c Revert use of DEFINE_MACHINE() for registrations of multiple machines 2015-09-19 16:40:27 +02:00
palm.c Use DEFINE_MACHINE() to register all machines 2015-09-19 16:40:15 +02:00
pxa2xx_gpio.c Convert (ffs(val) - 1) to ctz32(val) 2015-04-28 15:36:08 +02:00
pxa2xx_pic.c hw/arm/pxa2xx: Mark coprocessor registers as ARM_CP_IO 2015-06-15 18:06:09 +01:00
pxa2xx.c hw: do not pass NULL to memory_region_init from instance_init 2015-10-09 15:25:56 +02:00
realview.c Use error_fatal to simplify obvious fatal errors 2016-01-13 11:58:58 +01:00
spitz.c target-arm: Provide model numbers for Sharp PDAs 2015-10-16 11:14:53 +01:00
stellaris.c arm: stellaris: exit on external reset request 2015-11-03 13:49:41 +00:00
stm32f205_soc.c armv7-m: Return DeviceState* from armv7m_init() 2015-11-03 13:49:41 +00:00
strongarm.c arm: Use g_new() & friends where that makes obvious sense 2015-09-07 10:39:27 +01:00
strongarm.h hw: move private headers to hw/ subdirectories. 2013-04-08 18:13:16 +02:00
sysbus-fdt.c hw/arm/sysbus-fdt: enable vfio-calxeda-xgmac dynamic instantiation 2015-06-19 14:17:44 +01:00
tosa.c target-arm: Provide model numbers for Sharp PDAs 2015-10-16 11:14:53 +01:00
versatilepb.c Use error_fatal to simplify obvious fatal errors 2016-01-13 11:58:58 +01:00
vexpress.c Use error_fatal to simplify obvious fatal errors 2016-01-13 11:58:58 +01:00
virt-acpi-build.c acpi: extend aml_and() to accept target argument 2015-12-22 18:39:21 +02:00
virt.c hw/arm/virt: Fix property "gic-version" error handling 2016-01-13 11:58:58 +01:00
xilinx_zynq.c Use error_fatal to simplify obvious fatal errors 2016-01-13 11:58:58 +01:00
xlnx-ep108.c xlnx-zynqmp: Add support for high DDR memory regions 2016-01-15 14:34:54 +00:00
xlnx-zynqmp.c xlnx-zynqmp: Add support for high DDR memory regions 2016-01-15 14:34:54 +00:00
z2.c Use DEFINE_MACHINE() to register all machines 2015-09-19 16:40:15 +02:00