qemu/hw/arm
Alexander Graf 76e2aef392 hw/arm/boot: Increase fdt alignment
The Linux kernel on aarch64 creates a page table entry at early bootup
that spans the 2MB range on memory spanning the fdt start address:

  [ ALIGN_DOWN(fdt, 2MB) ... ALIGN_DOWN(fdt, 2MB) + 2MB ]

This means that when our current 4k alignment happens to fall at the end
of the aligned region, Linux tries to access memory that is not mapped.

The easy fix is to instead increase the alignment to 2MB, making Linux's
logic always succeed.

We leave the existing 4k alignment for 32bit kernels to not cause any
regressions due to space constraints.

Reported-by: Andreas Schwab <schwab@suse.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2015-07-15 17:16:26 +01:00
..
Makefile.objs hw/arm/sysbus-fdt: helpers for platform bus nodes addition 2015-06-02 15:44:28 +01:00
allwinner-a10.c
armv7m.c
boot.c hw/arm/boot: Increase fdt alignment 2015-07-15 17:16:26 +01:00
collie.c
cubieboard.c arm: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory 2015-04-08 17:30:36 +01:00
digic.c
digic_boards.c arm: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory 2015-04-08 17:30:36 +01:00
exynos4_boards.c
exynos4210.c
gumstix.c
highbank.c hw/arm/highbank.c: Wire FIQ between CPU <> GIC 2015-05-12 11:57:19 +01:00
integratorcp.c arm: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory 2015-04-08 17:30:36 +01:00
kzm.c arm: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory 2015-04-08 17:30:36 +01:00
mainstone.c
musicpal.c arm: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory 2015-04-08 17:30:36 +01:00
netduino2.c
nseries.c hw/arm/nseries.c: Fix misusing qemu_allocate_irqs for single irq 2015-06-03 14:21:24 +03:00
omap1.c Convert ffs() != 0 callers to ctz32() 2015-04-28 15:36:08 +02:00
omap2.c arm: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory 2015-04-08 17:30:36 +01:00
omap_sx1.c hw/arm/omap_sx1.c: Fix memory leak spotted by valgrind 2015-06-03 14:21:24 +03:00
palm.c
pxa2xx.c hw/arm/pxa2xx: Convert pxa2xx-ssp to VMState 2015-06-15 18:06:09 +01: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
realview.c
spitz.c
stellaris.c
stm32f205_soc.c
strongarm.c Convert (ffs(val) - 1) to ctz32(val) 2015-04-28 15:36:08 +02:00
strongarm.h
sysbus-fdt.c hw/arm/sysbus-fdt: enable vfio-calxeda-xgmac dynamic instantiation 2015-06-19 14:17:44 +01:00
tosa.c
versatilepb.c arm: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory 2015-04-08 17:30:36 +01:00
vexpress.c pflash_cfi01: change big-endian property to BIT type 2015-06-05 17:36:31 +02:00
virt-acpi-build.c hw/arm/virt-acpi-build: Add GICv2m description in ACPI MADT table 2015-06-26 14:22:36 +01:00
virt.c hw/arm/virt: Make block devices default to virtio 2015-06-26 14:22:37 +01:00
xilinx_zynq.c arm: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory 2015-04-08 17:30:36 +01:00
xlnx-ep108.c arm: xlnx-zynqmp: Add boot-cpu property 2015-06-19 14:17:45 +01:00
xlnx-zynqmp.c arm: xlnx-zynqmp: Add 2xCortexR5 CPUs 2015-06-19 14:17:45 +01:00
z2.c