xemu/hw/arm
Peter Maydell e6b2b20d97 hw/arm/boot: Avoid placing the initrd on top of the kernel
We currently put the initrd at the smaller of:
 * 128MB into RAM
 * halfway into the RAM
(with the dtb following it).

However for large kernels this might mean that the kernel
overlaps the initrd. For some kinds of kernel (self-decompressing
32-bit kernels, and ELF images with a BSS section at the end)
we don't know the exact size, but even there we have a
minimum size. Put the initrd at least further into RAM than
that. For image formats that can give us an exact kernel size, this
will mean that we definitely avoid overlaying kernel and initrd.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Mark Rutland <mark.rutland@arm.com>
Message-id: 20190516144733.32399-4-peter.maydell@linaro.org
2019-06-17 15:11:18 +01:00
..
Kconfig hw/acpi: Consolidate build_mcfg to pci.c 2019-05-29 18:00:57 -04:00
Makefile.objs hw/arm: Express dependencies of the microbit / nrf51 machine with Kconfig 2019-05-13 09:36:32 +02:00
allwinner-a10.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
armsse.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
armv7m.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
aspeed.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
aspeed_soc.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
bcm2835_peripherals.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
bcm2836.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
boot.c hw/arm/boot: Avoid placing the initrd on top of the kernel 2019-06-17 15:11:18 +01:00
collie.c arm: Rename hw/arm/arm.h to hw/arm/boot.h 2019-05-23 14:47:43 +01:00
cubieboard.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
digic.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
digic_boards.c pflash: Clean up after commit 368a354f02, part 2 2019-03-11 22:53:44 +01:00
exynos4_boards.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
exynos4210.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
fsl-imx6.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
fsl-imx6ul.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
fsl-imx7.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
fsl-imx25.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
fsl-imx31.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
gumstix.c hw/devices: Move SMSC 91C111 declaration into a new header 2019-04-29 17:57:21 +01:00
highbank.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
imx25_pdk.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
integratorcp.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
kzm.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
mainstone.c arm: Rename hw/arm/arm.h to hw/arm/boot.h 2019-05-23 14:47:43 +01:00
mcimx6ul-evk.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
mcimx7d-sabre.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
microbit.c arm: Rename hw/arm/arm.h to hw/arm/boot.h 2019-05-23 14:47:43 +01:00
mps2-tz.c hw/arm/mps2: Use object_initialize_child for correct reference counting 2019-05-24 15:29:02 -03:00
mps2.c hw/arm/mps2: Use object_initialize_child for correct reference counting 2019-05-24 15:29:02 -03:00
msf2-soc.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
msf2-som.c arm: Rename hw/arm/arm.h to hw/arm/boot.h 2019-05-23 14:47:43 +01:00
musca.c arm: Rename hw/arm/arm.h to hw/arm/boot.h 2019-05-23 14:47:43 +01:00
musicpal.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
netduino2.c arm: Rename hw/arm/arm.h to hw/arm/boot.h 2019-05-23 14:47:43 +01:00
nrf51_soc.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
nseries.c arm: Rename hw/arm/arm.h to hw/arm/boot.h 2019-05-23 14:47:43 +01:00
omap1.c arm: Rename hw/arm/arm.h to hw/arm/boot.h 2019-05-23 14:47:43 +01:00
omap2.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
omap_sx1.c arm: Rename hw/arm/arm.h to hw/arm/boot.h 2019-05-23 14:47:43 +01:00
palm.c arm: Rename hw/arm/arm.h to hw/arm/boot.h 2019-05-23 14:47:43 +01:00
pxa2xx.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
pxa2xx_gpio.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
pxa2xx_pic.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
raspi.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
realview.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
sabrelite.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
smmu-common.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
smmu-internal.h hw/arm/smmu-common: VMSAv8-64 page table walk 2018-05-04 18:05:51 +01:00
smmuv3-internal.h Clean up header guards that don't match their file name 2019-05-13 08:58:55 +02:00
smmuv3.c hw/arm/smmuv3: Fix decoding of ID register range 2019-06-13 15:14:03 +01:00
spitz.c arm: Rename hw/arm/arm.h to hw/arm/boot.h 2019-05-23 14:47:43 +01:00
stellaris.c arm: Rename hw/arm/arm.h to hw/arm/boot.h 2019-05-23 14:47:43 +01:00
stm32f205_soc.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
strongarm.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
strongarm.h Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
sysbus-fdt.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
tosa.c arm: Rename hw/arm/arm.h to hw/arm/boot.h 2019-05-23 14:47:43 +01:00
trace-events trace-events: Fix attribution of trace points to source 2019-03-22 16:18:07 +00:00
versatilepb.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
vexpress.c arm: Rename hw/arm/arm.h to hw/arm/boot.h 2019-05-23 14:47:43 +01:00
virt-acpi-build.c hw/acpi: extract acpi_add_rom_blob() 2019-06-16 16:16:52 -04:00
virt.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
xilinx_zynq.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
xlnx-versal-virt.c hw/arm: versal: Plug memory leaks 2019-01-07 15:23:46 +00:00
xlnx-versal.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
xlnx-zcu102.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
xlnx-zynqmp.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
z2.c arm: Rename hw/arm/arm.h to hw/arm/boot.h 2019-05-23 14:47:43 +01:00