diff options
author | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2015-10-29 15:07:25 +0100 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2015-10-29 16:10:58 +0000 |
commit | 73effccb9196ccc0241c3fb51dfd8de1d14ae8ed (patch) | |
tree | b5cc57b7c2930d53923b1edc704de3ff74df6231 /arch/alpha | |
parent | 9702970c7bd3e2d6fecb642a190269131d4ac16c (diff) |
arm64/efi: do not assume DRAM base is aligned to 2 MB
The current arm64 Image relocation code in the UEFI stub assumes that
the dram_base argument it receives is always a multiple of 2 MB. In
reality, it is simply the lowest start address of all RAM entries in
the UEFI memory map, which means it could be any multiple of 4 KB.
Since the arm64 kernel Image needs to reside TEXT_OFFSET bytes beyond
a 2 MB aligned base, or it will fail to boot, make sure we round dram_base
to 2 MB before using it to calculate the relocation address.
Fixes: e38457c361b30c5a ("arm64: efi: prefer AllocatePages() over efi_low_alloc() for vmlinux")
Reported-by: Timur Tabi <timur@codeaurora.org>
Tested-by: Timur Tabi <timur@codeaurora.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/alpha')
0 files changed, 0 insertions, 0 deletions