]> git.proxmox.com Git - mirror_qemu.git/commit
hw/arm/boot: Increase fdt alignment
authorAlexander Graf <agraf@suse.de>
Wed, 15 Jul 2015 16:16:26 +0000 (17:16 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Wed, 15 Jul 2015 16:16:26 +0000 (17:16 +0100)
commit76e2aef392629f2b2a468f5158d5c397cc5beed2
tree22fb50a544350810105d024ad19820b9e45fe25f
parente46e1a74ef482f1ef773e750df9654ef4442ca29
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>
hw/arm/boot.c