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
..
allwinner-a10.c hw: Mark device misusing nd_table[] FIXME 2015-04-02 15:30:32 +02:00
armv7m.c target_arm: Parameterise the irq lines for armv7m_init 2015-02-05 13:37:21 +00:00
boot.c hw/arm/boot: Increase fdt alignment 2015-07-15 17:16:26 +01:00
collie.c hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
cubieboard.c arm: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory 2015-04-08 17:30:36 +01:00
digic_boards.c arm: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory 2015-04-08 17:30:36 +01:00
digic.c hw/arm/digic: add UART support 2013-12-17 20:12:51 +00:00
exynos4_boards.c machine: Conversion of QEMUMachineInitArgs to MachineState 2014-05-28 17:35:01 +02:00
exynos4210.c error: Use error_report_err() where appropriate 2015-02-18 10:51:09 +01:00
gumstix.c hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
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 hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
Makefile.objs hw/arm/sysbus-fdt: helpers for platform bus nodes addition 2015-06-02 15:44:28 +01:00
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 netduino2: Add the Netduino 2 Machine 2015-03-11 13:21:06 +00:00
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 memory: add parameter errp to memory_region_init_ram 2014-09-09 13:41:43 +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/arm/pxa2xx: Convert pxa2xx-ssp to VMState 2015-06-15 18:06:09 +01:00
realview.c error: Use error_report_err() where appropriate 2015-02-18 10:51:09 +01:00
spitz.c sysbus: Make devices picking up backends unavailable with -device 2015-04-02 15:30:44 +02:00
stellaris.c target_arm: Parameterise the irq lines for armv7m_init 2015-02-05 13:37:21 +00:00
stm32f205_soc.c stm32f205: Add the stm32f205 SoC 2015-03-11 13:21:06 +00:00
strongarm.c Convert (ffs(val) - 1) to ctz32(val) 2015-04-28 15:36:08 +02: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 hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
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 hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00