Subject: [PATCH] arm64: efi: make sure vmlinux load address aligned on 2MBytes

From: [email-masked] (Timur Tabi)
Date: Wed, 28 Oct 2015 16:02:23 -0500

On 10/28/2015 12:26 PM, Mark Rutland wrote:
>> >This does make the kernel boot, but we suspect that there may be
>> >another problem.  We need to investigate it, but we have a suspicion
>> >that the EFI stub is trying to allocate from the Runtime Data block,
>> >and the alignment adjustment "fixes" the problem by moving the
>> >pointer to Conventional Memory.
> I don't follow. EFI_BOOT_SERVICES.AllocatePages() should only give us
> pages which are available, so it shouldn't ever return pages which are
> runtime data -- it would fail and we'd fall back to efi_low_alloc().
>
> Could you elaborate?

So we're still debugging this internally, but it turns out that 
dram_base is equal to 0x4000820000, which also happens to be the start 
of a Runtime Data block:

   0x004000820000-0x00400085ffff [Runtime Data       |RUN|XP|  |  | 
|WB|WT|WC|UC]

I think this is not supposed to happen.

-- 
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.